Этот документ является не официальным переводом исходной английской версии XHTML™ 1.1 - Module-based XHTML - Second Edition. Обратите внимание на то, что оригинальная версия документа существует только на английском языке. Данный перевод может содержать неточности и ошибки. Перевод выполнил © Зайцев Дмитрий, 2011. При поддержке сайта latex pillow. Комментарии к переводу оставляйте здесь! | | На главную
Содержание
Это приложение является нормативным.
Этот раздел содержит определение, в формате открытого каталога SGML [CATALOG], публичных идентификаторов для XHTML 1.1.
-- .......................................................................... -- -- Файл каталога ............................................................ -- -- Файл с данными Каталога XHTML 1.1 Редакция: @(#)xhtml11.cat 1.9 2001/04/04 SMI См. "Entity Management", SGML Open Technical Resolution 9401 для более подробной информации о поставке и использовании данных каталога. Этот документ доступен в OASIS по адресу: <http://www.oasis-open.org/html/tr9401.html> -- -- .......................................................................... -- -- Объявление SGML, связанное с XHTML ...................................... -- OVERRIDE YES SGMLDECL "xml1.dcl" -- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -- -- XHTML 1.1 DTD модульный файл драйвера ................................... -- PUBLIC "-//W3C//DTD XHTML 1.1//EN" "xhtml11.dtd" -- XHTML 1.1 каркасные модули .............................................. -- PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" "xhtml11-model-1.mod" -- Конец данных каталога ................................................... -- -- .......................................................................... --
Этот раздел содержит драйвер для реализации типа документа XHTML 1.1 как DTD XML. Он опирается на реализации модуля XHTML, как это определено в [XHTMLMOD] и в [RUBY].
<!-- ....................................................................... --> <!-- XHTML 1.1 DTD ........................................................ --> <!-- файл: xhtml11.dtd --> <!-- XHTML 1.1 DTD Это XHTML, переформулирование HTML как модульного приложения XML. Расширяемый язык разметки гипертекста (XHTML) Copyright 1998-2008 World Wide Web Consortium (Массачусетский технологический институт, Европейский исследовательский консорциум информатики и математики, университет Keio). Все права защищены. Настоящим разрешается использовать, копировать, изменять и распространять DTD для XHTML и его сопроводительную документацию в любых целях и бесплатно на неограниченный срок при условии, что вышеупомянутое уведомление об авторских правах и данный абзац присутствуют во всех копиях. Правообладатели не заявляют о пригодности этого DTD для каких-либо целей. Оно предоставляется "как есть" без явных или косвенных гарантий. Автор: Murray M. Altheim <[email protected]> Редакция: $Id: xhtml11_dtd.html,v 1.1 2010/11/24 20:56:19 bertails Exp $ --> <!-- Это файл драйвера для версии 1.1 DTD для XHTML. Пожалуйста, используйте этот публичный идентификатор для его идентификации: "-//W3C//DTD XHTML 1.1//EN" --> <!ENTITY % XHTML.version "-//W3C//DTD XHTML 1.1//EN" > <!-- Используйте этот URI для идентификации пространства имен по умолчанию: "http://www.w3.org/1999/xhtml" См. модуль Полные Имена для информации об использовании префиксов пространства имен в DTD. Обратите внимание, что элементы пространства имен XHTML по умолчанию без префиксов, но префикс пространства имен XHTML определен как "xhtml", поэтому другие языки разметки могут расширить его и использовать снабженные префиксом глобальные атрибуты XHTML, если это необходимо. --> <!ENTITY % NS.prefixed "IGNORE" > <!ENTITY % XHTML.prefix "xhtml" > <!-- Не забудьте указать снабженные префиксом глобальные атрибуты - мы не нуждаемся в них, но языки которые расширяют XHTML 1.1, могут нуждаться. --> <!ENTITY % XHTML.global.attrs.prefixed "INCLUDE" > <!-- Зарезервировано для использования в пространстве имен XLink: --> <!ENTITY % XLINK.xmlns "" > <!ENTITY % XLINK.xmlns.attrib "" > <!-- Например, если вы используете непосредственно XHTML 1.1, используйте общедоступный идентификатор в объявлении DOCTYPE, с объявлением пространства имен в элементе документа, чтобы идентифицировать пространство имен по умолчанию: <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/MarkUp/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> ... </html> Редакция: (нет) --> <!-- зарезервировано для будущего использования с профилями документов --> <!ENTITY % XHTML.profile "" > <!-- обеспечено отключение XHTML Notations --> <!ENTITY % xhtml-notations.module "IGNORE" > <!-- Функции Двунаправленного текста Этот тестирующий объект используется, чтобы объявить элементы и атрибуты, используемые для поддержки двунаправленного текста. --> <!ENTITY % XHTML.bidi "INCLUDE" > <?doc type="doctype" role="title" { XHTML 1.1 } ?> <!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- Переопределение заполнителя перед платформой ......................... --> <!-- Это служит в качестве места для вставки объявлений разметки в DTD, перед объявлениями платформы. --> <!ENTITY % xhtml-prefw-redecl.module "IGNORE" > <![%xhtml-prefw-redecl.module;[ %xhtml-prefw-redecl.mod; <!-- end of xhtml-prefw-redecl.module -->]]> <!ENTITY % xhtml-events.module "INCLUDE" > <!-- Модуль внутристрочного стиля ........................................ --> <!ENTITY % xhtml-inlstyle.module "INCLUDE" > <![%xhtml-inlstyle.module;[ <!ENTITY % xhtml-inlstyle.mod PUBLIC "-//W3C//ELEMENTS XHTML Inline Style 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-inlstyle-1.mod" > %xhtml-inlstyle.mod;]]> <!-- объявление модуля модели документа, который конкретизирован в платформе --> <!ENTITY % xhtml-model.mod PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml11-model-1.mod" > <!-- добавление атрибута lang в набор I18N --> <!ENTITY % xhtml-datatypes.module "INCLUDE" > <![%xhtml-datatypes.module;[ <!ENTITY % xhtml-datatypes.mod PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN" "xhtml-datatypes-1.mod" > %xhtml-datatypes.mod;]]> <!ENTITY % lang.attrib "xml:lang %LanguageCode.datatype; #IMPLIED lang %LanguageCode.datatype; #IMPLIED" > <!-- Модуль модульной платформы (необходимый) ......................... --> <!ENTITY % xhtml-framework.module "INCLUDE" > <![%xhtml-framework.module;[ <!ENTITY % xhtml-framework.mod PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-framework-1.mod" > %xhtml-framework.mod;]]> <!-- Заполнитель Переобъявления постплатформы ................... --> <!-- Это служит в качестве места для вставки объявлений разметки в DTD, после объявлений платформы. --> <!ENTITY % xhtml-postfw-redecl.module "IGNORE" > <![%xhtml-postfw-redecl.module;[ %xhtml-postfw-redecl.mod; <!-- end of xhtml-postfw-redecl.module -->]]> <!-- Текстовый Модуль (необходимый) ..................................... --> <!ENTITY % xhtml-text.module "INCLUDE" > <![%xhtml-text.module;[ <!ENTITY % xhtml-text.mod PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-text-1.mod" > %xhtml-text.mod;]]> <!-- Гипертекстовый Модуль (необходимый) ................................. --> <!ENTITY % xhtml-hypertext.module "INCLUDE" > <![%xhtml-hypertext.module;[ <!ENTITY % xhtml-hypertext.mod PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-hypertext-1.mod" > %xhtml-hypertext.mod;]]> <!-- Модуль списков (необходимый) .................................... --> <!ENTITY % xhtml-list.module "INCLUDE" > <![%xhtml-list.module;[ <!ENTITY % xhtml-list.mod PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-list-1.mod" > %xhtml-list.mod;]]> <!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --> <!-- Модуль редактирования ................................................ --> <!ENTITY % xhtml-edit.module "INCLUDE" > <![%xhtml-edit.module;[ <!ENTITY % xhtml-edit.mod PUBLIC "-//W3C//ELEMENTS XHTML Editing Elements 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-edit-1.mod" > %xhtml-edit.mod;]]> <!-- Модуль BIDI Override ................................................ --> <!ENTITY % xhtml-bdo.module "%XHTML.bidi;" > <![%xhtml-bdo.module;[ <!ENTITY % xhtml-bdo.mod PUBLIC "-//W3C//ELEMENTS XHTML BIDI Override Element 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-bdo-1.mod" > %xhtml-bdo.mod;]]> <!-- Модуль Ruby ......................................................... --> <!ENTITY % Ruby.common.attlists "INCLUDE" > <!ENTITY % Ruby.common.attrib "%Common.attrib;" > <!ENTITY % xhtml-ruby.module "INCLUDE" > <![%xhtml-ruby.module;[ <!ENTITY % xhtml-ruby.mod PUBLIC "-//W3C//ELEMENTS XHTML Ruby 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-ruby-1.mod" > %xhtml-ruby.mod;]]> <!-- Модуль представления ............................................... --> <!ENTITY % xhtml-pres.module "INCLUDE" > <![%xhtml-pres.module;[ <!ENTITY % xhtml-pres.mod PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-pres-1.mod" > %xhtml-pres.mod;]]> <!-- Модуль элемента ссылки ............................................. --> <!ENTITY % xhtml-link.module "INCLUDE" > <![%xhtml-link.module;[ <!ENTITY % xhtml-link.mod PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-link-1.mod" > %xhtml-link.mod;]]> <!-- Модуль метаинформации документа ................................... --> <!ENTITY % xhtml-meta.module "INCLUDE" > <![%xhtml-meta.module;[ <!ENTITY % xhtml-meta.mod PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-meta-1.mod" > %xhtml-meta.mod;]]> <!-- Модуль элемента Base .............................................. --> <!ENTITY % xhtml-base.module "INCLUDE" > <![%xhtml-base.module;[ <!ENTITY % xhtml-base.mod PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-base-1.mod" > %xhtml-base.mod;]]> <!-- Модуль сценариев ................................................. --> <!ENTITY % xhtml-script.module "INCLUDE" > <![%xhtml-script.module;[ <!ENTITY % xhtml-script.mod PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-script-1.mod" > %xhtml-script.mod;]]> <!-- Модуль Таблиц стилей ............................................. --> <!ENTITY % xhtml-style.module "INCLUDE" > <![%xhtml-style.module;[ <!ENTITY % xhtml-style.mod PUBLIC "-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-style-1.mod" > %xhtml-style.mod;]]> <!-- Модуль изображения ............................................... --> <!ENTITY % xhtml-image.module "INCLUDE" > <![%xhtml-image.module;[ <!ENTITY % xhtml-image.mod PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-image-1.mod" > %xhtml-image.mod;]]> <!-- Модуль клиентской карты-изображений ............................. --> <!ENTITY % xhtml-csismap.module "INCLUDE" > <![%xhtml-csismap.module;[ <!ENTITY % xhtml-csismap.mod PUBLIC "-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-csismap-1.mod" > %xhtml-csismap.mod;]]> <!-- Модуль серверной карты-изображений .............................. --> <!ENTITY % xhtml-ssismap.module "INCLUDE" > <![%xhtml-ssismap.module;[ <!ENTITY % xhtml-ssismap.mod PUBLIC "-//W3C//ELEMENTS XHTML Server-side Image Maps 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-ssismap-1.mod" > %xhtml-ssismap.mod;]]> <!-- Модуль элемента Param .......................................... --> <!ENTITY % xhtml-param.module "INCLUDE" > <![%xhtml-param.module;[ <!ENTITY % xhtml-param.mod PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-param-1.mod" > %xhtml-param.mod;]]> <!-- Модуль внедренного объекта ..................................... --> <!ENTITY % xhtml-object.module "INCLUDE" > <![%xhtml-object.module;[ <!ENTITY % xhtml-object.mod PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-object-1.mod" > %xhtml-object.mod;]]> <!-- Модуль таблиц .................................................. --> <!ENTITY % xhtml-table.module "INCLUDE" > <![%xhtml-table.module;[ <!ENTITY % xhtml-table.mod PUBLIC "-//W3C//ELEMENTS XHTML Tables 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-table-1.mod" > %xhtml-table.mod;]]> <!-- Модуль форм .................................................. --> <!ENTITY % xhtml-form.module "INCLUDE" > <![%xhtml-form.module;[ <!ENTITY % xhtml-form.mod PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-form-1.mod" > %xhtml-form.mod;]]> <!-- Модуль унаследованной разметки ................................ --> <!ENTITY % xhtml-legacy.module "IGNORE" > <![%xhtml-legacy.module;[ <!ENTITY % xhtml-legacy.mod PUBLIC "-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-legacy-1.mod" > %xhtml-legacy.mod;]]> <!-- Модуль структуры документа (необходимый) ...................... --> <!ENTITY % xhtml-struct.module "INCLUDE" > <![%xhtml-struct.module;[ <!ENTITY % xhtml-struct.mod PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-struct-1.mod" > %xhtml-struct.mod;]]> <!-- конец DTD для XHTML 1.1 .............................................. --> <!-- ....................................................................... -->
Тип документа семейства XHTML (такой как XHTML 1.1) должен определить модель содержимого, которую он использует. Это сделано через отдельный модуль модели содержимого, который обрабатывает модульная платформа XHTML. Модуль модели содержимого и драйвер XHTML 1.1 (см. выше) сотрудничают, чтобы настроить реализации модуля к определенным требованиям типа документа. Модуль модели содержимого для XHTML 1.1 определен ниже:
<!-- ....................................................................... --> <!-- Модуль модели документа XHTML 1.1 ...................................... --> <!-- файл: xhtml11-model-1.mod Это XHTML 1.1, переформулирование HTML как модульного приложения XML. Copyright 1998-2008 W3C (MIT, ERCIM, Keio), Все права защищены. Редакция: $Id: xhtml11_dtd.html,v 1.1 2010/11/24 20:56:19 bertails Exp $ SMI Этот модуль DTD определяется идентификаторами PUBLIC и SYSTEM: PUBLIC "-//W3C//ENTITIES XHTML 1.1 Document Model 1.0//EN" SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml11-model-1.mod" Редакции: (нет) ....................................................................... --> <!-- Модель документа XHTML 1.1 Этот модуль описывает группы элементов, которые составляют модели общего содержимого для элементов XHTML. У XHTML есть три основные модели содержимого: %Inline.mix; элементы на символьном уровне %Block.mix; элементы подобные блочным, например, параграфы и списки %Flow.mix; любые блочные или внутристрочные элементы Любые объекты параметра, объявленные в этом модуле, могут использоваться, чтобы создать модели содержимого элемента, но вышеупомянутые три считают 'global' (поскольку этот термин применяется и здесь). Зарезервированное слово '#PCDATA' (указание на текстовую строку) теперь включено явно с каждым объявлением элемента, которое объявлено как смешанное содержимое, поскольку XML требует, чтобы эта лексема появилась сначала в спецификации модели содержимого. --> <!-- Расширение Модели В то время как в некоторых случаях этот модуль, возможно, должен быть переписан, чтобы разместить изменения к модели документа, незначительные расширения могут быть выполнены, повторно, объявляя любой из трех *.extra; объекты параметра содержат типы элемента расширения следующим образом: %Misc.extra; чьим родителем может быть любой блочный или внутристрочный элемент. %Inline.extra; чьим родителем может быть любой внутристрочный элемент. %Block.extra; чьим родителем может быть любой блочный элемент. Если используются, то эти объекты параметра должны быть ИЛИ-разделенным списком, который начинается с разделителя ИЛИ ("|"), например, "| a | b | c" Все блочные и внутристрочные объекты параметра *.class, не являющиеся частью классов *struct.class, начинаются с "| ", чтобы разрешить исключения для перемешиваний. --> <!-- .............. Дополнительные элементы в head .................. --> <!ENTITY % HeadOpts.mix "( %script.qname; | %style.qname; | %meta.qname; | %link.qname; | %object.qname; )*" > <!-- ................. Разные элементы .................. --> <!-- ins и del используются, чтобы обозначить изменения редактирования --> <!ENTITY % Edit.class "| %ins.qname; | %del.qname;" > <!-- script и noscript используются, как контейнеры сценариев и альтернативное содержимое --> <!ENTITY % Script.class "| %script.qname; | %noscript.qname;" > <!ENTITY % Misc.extra "" > <!-- Эти элементы не являются ни блочными, ни внутристрочными, и по сути, могут использоваться где угодно в теле документа. --> <!ENTITY % Misc.class "%Edit.class; %Script.class; %Misc.extra;" > <!-- .................... Внутристрочные элементы ...................... --> <!ENTITY % InlStruct.class "%br.qname; | %span.qname;" > <!ENTITY % InlPhras.class "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname; | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname; | %abbr.qname; | %acronym.qname; | %q.qname;" > <!ENTITY % InlPres.class "| %tt.qname; | %i.qname; | %b.qname; | %big.qname; | %small.qname; | %sub.qname; | %sup.qname;" > <!ENTITY % I18n.class "| %bdo.qname;" > <!ENTITY % Anchor.class "| %a.qname;" > <!ENTITY % InlSpecial.class "| %img.qname; | %map.qname; | %object.qname;" > <!ENTITY % InlForm.class "| %input.qname; | %select.qname; | %textarea.qname; | %label.qname; | %button.qname;" > <!ENTITY % Inline.extra "" > <!ENTITY % Ruby.class "| %ruby.qname;" > <!-- %Inline.class; включает в себя все внутристрочные элементы, используемые в качестве компонента в перемешиваниях --> <!ENTITY % Inline.class "%InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %Anchor.class; %InlSpecial.class; %InlForm.class; %Ruby.class; %Inline.extra;" > <!-- %InlNoRuby.class; включает в себя все внутристрочные элементы, за исключением ruby, используемые в качестве компонента в перемешиваниях --> <!ENTITY % InlNoRuby.class "%InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %Anchor.class; %InlSpecial.class; %InlForm.class; %Inline.extra;" > <!-- %NoRuby.content; включает в себя все внутристрочные элементы, за исключением ruby --> <!ENTITY % NoRuby.content "( #PCDATA | %InlNoRuby.class; %Misc.class; )*" > <!-- %InlNoAnchor.class; включает в себя все без-якорьные внутристрочные элементы, используемые в качестве компонента в перемешиваниях --> <!ENTITY % InlNoAnchor.class "%InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %InlSpecial.class; %InlForm.class; %Ruby.class; %Inline.extra;" > <!-- %InlNoAnchor.mix; включает в себя все без-якорьные внутристрочные элементы --> <!ENTITY % InlNoAnchor.mix "%InlNoAnchor.class; %Misc.class;" > <!-- %Inline.mix; включает в себя все внутристрочные элементы, в том числе %Misc.class; --> <!ENTITY % Inline.mix "%Inline.class; %Misc.class;" > <!-- ..................... Блочные элементы ...................... --> <!-- В DTD для HTML 4.0, элементы заголовка и списка были включены в объект параметра %block;. Объекты параметров %Heading.class; и %List.class; должны быть включены явно в объявлении элементов, где это необходимо. --> <!ENTITY % Heading.class "%h1.qname; | %h2.qname; | %h3.qname; | %h4.qname; | %h5.qname; | %h6.qname;" > <!ENTITY % List.class "%ul.qname; | %ol.qname; | %dl.qname;" > <!ENTITY % Table.class "| %table.qname;" > <!ENTITY % Form.class "| %form.qname;" > <!ENTITY % Fieldset.class "| %fieldset.qname;" > <!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" > <!ENTITY % BlkPhras.class "| %pre.qname; | %blockquote.qname; | %address.qname;" > <!ENTITY % BlkPres.class "| %hr.qname;" > <!ENTITY % BlkSpecial.class "%Table.class; %Form.class; %Fieldset.class;" > <!ENTITY % Block.extra "" > <!-- %Block.class; включает в себя все блочные элементы, используемые в качестве компонента в перемешиваниях --> <!ENTITY % Block.class "%BlkStruct.class; %BlkPhras.class; %BlkPres.class; %BlkSpecial.class; %Block.extra;" > <!-- %Block.mix; включает в себя все блочные элементы, плюс %Misc.class; --> <!ENTITY % Block.mix "%Heading.class; | %List.class; | %Block.class; %Misc.class;" > <!-- ................ Все элементы содержимого .................. --> <!-- %Flow.mix; включает в себя все текстовое содержимое, блочные и встроенные элементы --> <!ENTITY % Flow.mix "%Heading.class; | %List.class; | %Block.class; | %Inline.class; %Misc.class;" > <!-- конец xhtml11-model-1.mod -->