Модуляризация XHTML

         

Абстрактные модули


Тип документа XHTML определён как набор абстрактных модулей. Абстрактный модуль определяет один вид данных, семантически отличающихся от всех других. Абстрактный модуль может комбинироваться в типах документа без глубокого понимания основных схем определения модулей.



Абстрактные Модули XHTML

Этот раздел является нормативным.

В этом разделе специфицировано содержимое абстрактных модулей XHTML. Эти модули являются абстрактными определениями коллекций элементов, атрибутов и их моделей содержимого. Эти абстрактные модули могут отображаться в любой подходящий механизм спецификации. , например, отображает эти модули в ОТД, как описано в .

Разработчикам содержимого и дизайнерам устройств необходимо просмотреть этот раздел как руководство по определению функциональности, предоставляемой различными модулями, определёнными XHTML.

При разработке документов или определении профиля для класса документов, разработчики содержимого смогут определить, который из этих модулей более всего подходит для них.

При разработке клиентов дизайнеры устройств должны разрабатывать профили своих устройств, выбирая абстрактные модули, определённые здесь.

За исключением переопределённых в этом документе, семантика элементов и атрибутов определена в .



Аплет


<!-- ...................................................................... --> <!-- Модуль XHTML Java Applet ............................................ --> <!-- файл xhtml-applet-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-applet-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM::

PUBLIC "-//W3C//ELEMENTS XHTML Java Applets 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-applet-1.mod"

Ревизии: #2001-02-20: добавлен PCDATA к модели содержимого аплета. ....................................................................... -->

<!-- Аплеты Java

applet



Этот модуль объявляет тип элемента applet с атрибутами, используемый для поддержки аплетов Java. Атрибут 'alt' теперь является необходимым (как и в изображениях). Один из атрибутов - code или object - обязан присутствовать. Элементы param помещайте в документе до другого содержимого в элементе <applet>.

Обратите внимание, что использование этого модуля требует установки модуля Param Element. -->

<!-- applet: Аплет Java ............................... -->

<!ENTITY % applet.element "INCLUDE" > <![%applet.element;[ <!ENTITY % applet.content "( #PCDATA | %param.qname; | %Flow.mix; )*" > <!ENTITY % applet.qname "applet" > <!ELEMENT %applet.qname; %applet.content; > <!-- end of applet.element -->]]>

<!ENTITY % applet.attlist "INCLUDE" > <![%applet.attlist;[ <!ATTLIST %; %Core.attrib; alt #REQUIRED archive CDATA #IMPLIED code CDATA #IMPLIED codebase #IMPLIED object CDATA #IMPLIED width #REQUIRED height #REQUIRED > <!-- end of applet.attlist -->]]>

<!-- конец xhtml-applet-1.mod -->



Атрибут 'style'


<!-- ...................................................................... --> <!-- Модуль XHTML Inline Style ........................................... --> <!-- файл xhtml-inlstyle-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-inlstyle-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ENTITIES XHTML Inline Style 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstyle-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Инлайн-Стиль

Этот модуль объявляет атрибут 'style', используемый для поддержки инлайн-разметки. Этот модуль обязан быть установлен до модуля XHTML Common Attributes, чтобы быть включённым в %Core.attrib;. -->

<!ENTITY % style.attrib "style CDATA #IMPLIED" >

<!ENTITY % Core.extra.attrib "%style.attrib;" >

<!-- конец xhtml-inlstyle-1.mod -->



Base/База


<!-- ...................................................................... --> <!-- Модуль XHTML Base Element ........................................... --> <!-- файл xhtml-base-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-base-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-base-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Элемент "База"

base

Этот модуль объявляет тип элемента base и его атрибуты, используемый для определения базового URI, относительно которого разрешаются относительные URI документа.

Обратите внимание, что этот модуль также переобъявляет модель содержимого элемента head для включения элемента base. -->

<!-- base: Базовый URI Документа ........................... -->

<!ENTITY % base.element "INCLUDE" > <![%base.element;[ <!ENTITY % base.content "EMPTY" > <!ENTITY % base.qname "base" > <!ELEMENT %base.qname; %base.content; > <!-- end of base.element -->]]>

<!ENTITY % base.attlist "INCLUDE" > <![%base.attlist;[ <!ATTLIST %; %XHTML.xmlns.attrib; href #REQUIRED > <!-- end of base.attlist -->]]>

<!ENTITY % head.content "( %HeadOpts.mix;, ( ( %title.qname;, %HeadOpts.mix;, ( %base.qname;, %HeadOpts.mix; )? ) | ( %base.qname;, %HeadOpts.mix;, ( %title.qname;, %HeadOpts.mix; ))))" >

<!-- конец xhtml-base-1.mod -->



Базовая архитектура XHTML


<!-- ...................................................................... --> <!-- Модуль XHTML Base .................................................... --> <!-- Файл xhtml-arch-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-framework-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Base Architecture 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-arch-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Этот необязательный модуль содержит объявления, которые делают возможным использование XHTML как базовой архитектуры в соответствии с 'Architectural Forms Definition Requirements' (Annex A.3, ISO/IEC 10744, 2е изд.). Дополнительную информацию об использовании архитектурных форм см. на сайте HyTime: http://www.hytime.org/ -->

<?IS10744 ArcBase xhtml ?>

<!NOTATION xhtml PUBLIC "-//W3C//NOTATION AFDR ARCBASE XHTML 1.1//EN" >

<!-- Объявление объектов для ассоциированного Architectural DTD/Архитектурного ОТД --> <!ENTITY xhtml-arch.dtd PUBLIC "-//W3C//DTD XHTML Architecture 1.1//EN" "xhtml11-arch.dtd" >

<?IS10744:arch xhtml public-id = "-//W3C//NOTATION AFDR ARCBASE XHTML 1.1//EN" dtd-public-id = "-//W3C//DTD XHTML 1.1//EN" dtd-system-id = "xhtml11.dtd" doc-elem-form = "html" form-att = "html" renamer-att = "htnames" suppressor-att = "htsupp" data-ignore-att = "htign" auto = "ArcAuto" options = "HtModReq HtModOpt" HtModReq = "Framework Text Hypertext Lists Structure" HtModOpt = "Standard" ?>

<!-- конец xhtml-arch-1.mod -->



Базовые формы


<!-- ...................................................................... --> <!-- Модуль XHTML Simplified Forms/Упрощённые Формы ....................... --> <!-- файл xhtml-basic-form-1.mod

Это XHTML Basic, соответствующий поднабор XHTML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-basic-form-1.mod,v 4.1 2001/04/05 06:57:40 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Basic Forms 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-basic-form-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Базовые Формы

Этот модуль форм базируется на модели форм HTML 3.2 с запрошенным WAI дополнением элемента label. Поскольку в сущности копирует модель содержимого и атрибуты форм HTML 3.2, типы элементов, объявленные здесь, включают также все обычные атрибуты HTML 4.

form, label, input, select, option, textarea -->

<!-- объявляются квалифицированные имена типов элементов: --> <!ENTITY % form.qname "form" > <!ENTITY % label.qname "label" > <!ENTITY % input.qname "input" > <!ENTITY % select.qname "select" > <!ENTITY % option.qname "option" > <!ENTITY % textarea.qname "textarea" >

<!-- %BlkNoForm.mix; включает все элементы вне блока формы плюс %Misc.class; --> <!ENTITY % BlkNoForm.mix "%Heading.class; | %List.class; | %BlkStruct.class; %BlkPhras.class; %BlkPres.class; | %table.qname; %Block.extra; %Misc.class;" >

<!-- form: Элемент "Форма" ................................ -->

<!ENTITY % form.element "INCLUDE" > <![%form.element;[ <!ENTITY % form.content "( %BlkNoForm.mix; )+" > <!ELEMENT %form.qname; %form.content; > <!-- end of form.element -->]]>


<!ENTITY % form.attlist "INCLUDE" > <![%form.attlist;[ <!ATTLIST %; %Common.attrib; action #REQUIRED method ( get | post ) 'get' enctype 'application/x-www-form-urlencoded' > <!-- end of form.attlist -->]]>

<!-- label: Поле Формы - Текстовый Лэйбл ...................... -->

<!ENTITY % label.element "INCLUDE" > <![%label.element;[ <!-- Каждый label обязан содержать НЕ более одного поля --> <!ENTITY % label.content "( #PCDATA | %input.qname; | %select.qname; | %textarea.qname; | %InlStruct.class; %InlPhras.class; %I18n.class; %InlPres.class; %InlSpecial.class; %Misc.class; )*" > <!ELEMENT %label.qname; %label.content; > <!-- end of label.element -->]]>

<!ENTITY % label.attlist "INCLUDE" > <![%label.attlist;[ <!ATTLIST %; %Common.attrib; for IDREF #IMPLIED accesskey #IMPLIED > <!-- end of label.attlist -->]]>

<!-- input: Элемент Формы ............................... -->

<!ENTITY % input.element "INCLUDE" > <![%input.element;[ <!ENTITY % input.content "EMPTY" > <!ELEMENT %input.qname; %input.content; > <!-- end of input.element -->]]>

<!-- Basic Forms убрал типы элементов 'image' и 'file'. --> <!ENTITY % input.attlist "INCLUDE" > <![%input.attlist;[ <!ENTITY % InputType.class "( text | password | checkbox | radio | submit | reset | hidden )" > <!-- name атрибута необходимо для всех, кроме submit & reset --> <!ATTLIST %; %Common.attrib; type %InputType.class; 'text' name CDATA #IMPLIED value CDATA #IMPLIED checked ( checked ) #IMPLIED size CDATA #IMPLIED maxlength #IMPLIED src #IMPLIED tabindex #IMPLIED accesskey #IMPLIED > <!-- end of input.attlist -->]]>

<!-- select: Option Selector/Переключатель Опций ........................... -->

<!ENTITY % select.element "INCLUDE" > <![%select.element;[ <!ENTITY % select.content "( %option.qname; )+" > <!ELEMENT %select.qname; %select.content; > <!-- end of select.element -->]]>



<!ENTITY % select.attlist "INCLUDE" > <![%select.attlist;[ <!ATTLIST %; %Common.attrib; name CDATA #IMPLIED size #IMPLIED multiple ( multiple ) #IMPLIED tabindex #IMPLIED > <!-- end of select.attlist -->]]>

<!-- option: Selectable Choice/ Элемент Переключателя Опций ........................ -->

<!ENTITY % option.element "INCLUDE" > <![%option.element;[ <!ENTITY % option.content "( #PCDATA )" > <!ELEMENT %option.qname; %option.content; > <!-- end of option.element -->]]>

<!ENTITY % option.attlist "INCLUDE" > <![%option.attlist;[ <!ATTLIST %; %Common.attrib; selected ( selected ) #IMPLIED value CDATA #IMPLIED > <!-- end of option.attlist -->]]>

<!-- textarea: Многострочное Текстовое Поле ................... -->

<!ENTITY % textarea.element "INCLUDE" > <![%textarea.element;[ <!ENTITY % textarea.content "( #PCDATA )" > <!ELEMENT %textarea.qname; %textarea.content; > <!-- end of textarea.element -->]]>

<!ENTITY % textarea.attlist "INCLUDE" > <![%textarea.attlist;[ <!ATTLIST %; %Common.attrib; name CDATA #IMPLIED rows #REQUIRED cols #REQUIRED tabindex #IMPLIED accesskey #IMPLIED > <!-- end of textarea.attlist -->]]>

<!-- конец xhtml-basic-form-1.mod -->


Базовые Таблицы


<!-- ....................................................................... --> <!-- Модуль XHTML Basic Table ............................................. --> <!-- файл xhtml-basic-table-1.mod

Это XHTML Basic, соответствующий поднабор XHTML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-basic-table-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-basic-table-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Базовые Таблицы

table, caption, tr, th, td

Этот модуль таблиц объявляет элементы и атрибуты, определённые в модели таблиц на базе, в основном, возможностей широко распространённой табличной модели HTML 3.2. Поскольку этот модуль копирует модель содержимого и атрибуты таблиц HTML 3.2, типы элементов, объявленные здесь, включают также все обычные атрибуты HTML 4 и большинство атрибутов таблицы HTML 4. -->

<!-- объявляет квалифицированные имена типов элементов: --> <!ENTITY % table.qname "table" > <!ENTITY % caption.qname "caption" > <!ENTITY % tr.qname "tr" > <!ENTITY % th.qname "th" > <!ENTITY % td.qname "td" >

<!-- атрибуты горизонтального выравнивания для содержимого ячеек --> <!ENTITY % CellHAlign.attrib "align ( left | center | right ) #IMPLIED" >

<!-- атрибуты вертикального выравнивания для содержимого ячеек --> <!ENTITY % CellVAlign.attrib "valign ( top | middle | bottom ) #IMPLIED" >

<!-- scope проще, чем атрибут axes для обычных таблиц --> <!ENTITY % scope.attrib "scope ( row | col ) #IMPLIED" >

<!-- table: Элемент "Таблица" .............................. -->


<!ENTITY % table.element "INCLUDE" > <![%table.element;[ <!ENTITY % table.content "( %caption.qname;?, %tr.qname;+ )" > <!ELEMENT %table.qname; %table.content; > <!-- end of table.element -->]]>

<!ENTITY % table.attlist "INCLUDE" > <![%table.attlist;[ <!ATTLIST %; %Common.attrib; summary #IMPLIED > <!-- end of table.attlist -->]]>

<!-- caption: Заголовок Таблицы ............................ -->

<!ENTITY % caption.element "INCLUDE" > <![%caption.element;[ <!ENTITY % caption.content "( #PCDATA | %Inline.mix; )*" > <!ELEMENT %caption.qname; %caption.content; > <!-- end of caption.element -->]]>

<!ENTITY % caption.attlist "INCLUDE" > <![%caption.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of caption.attlist -->]]>

<!-- tr: Ряд Таблицы ..................................... -->

<!ENTITY % tr.element "INCLUDE" > <![%tr.element;[ <!ENTITY % tr.content "( %th.qname; | %td.qname; )+" > <!ELEMENT %tr.qname; %tr.content; > <!-- end of tr.element -->]]>

<!ENTITY % tr.attlist "INCLUDE" > <![%tr.attlist;[ <!ATTLIST %; %Common.attrib; %CellHAlign.attrib; %CellVAlign.attrib; > <!-- end of tr.attlist -->]]>

<!-- th: Заголовочная Ячейка Таблицы ............................. -->

<!-- th - для заголовочных ячеек, td - для данных, а для ячеек, работающих и так, и так, использовать td -->

<!ENTITY % th.element "INCLUDE" > <![%th.element;[ <!ENTITY % th.content "( #PCDATA | %FlowNoTable.mix; )*" > <!ELEMENT %th.qname; %th.content; > <!-- end of th.element -->]]>

<!ENTITY % th.attlist "INCLUDE" > <![%th.attlist;[ <!ATTLIST %; %Common.attrib; abbr #IMPLIED axis CDATA #IMPLIED headers IDREFS #IMPLIED %scope.attrib; rowspan '1' colspan '1' %CellHAlign.attrib; %CellVAlign.attrib; > <!-- end of th.attlist -->]]>

<!-- td: Ячейка Данных ............................... -->

<!ENTITY % td.element "INCLUDE" > <![%td.element;[ <!ENTITY % td.content "( #PCDATA | %FlowNoTable.mix; )*" > <!ELEMENT %td.qname; %td.content; > <!-- end of td.element -->]]>

<!ENTITY % td.attlist "INCLUDE" > <![%td.attlist;[ <!ATTLIST %; %Common.attrib; abbr #IMPLIED axis CDATA #IMPLIED headers IDREFS #IMPLIED %scope.attrib; rowspan '1' colspan '1' %CellHAlign.attrib; %CellVAlign.attrib; > <!-- end of td.attlist -->]]>

<!-- конец xhtml-basic-table-1.mod -->


Блок Phrasal


<!-- ...................................................................... --> <!-- Модуль XHTML Block Phrasal/Фразовый ................................. --> <!-- файл xhtml-blkphras-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-blkphras-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Block Phrasal 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkphras-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Блок Phrasal

address, blockquote, pre, h1, h2, h3, h4, h5, h6

Этот модуль объявляет элементы и их атрибуты, используемые для поддержки фразовой разметки уровня блока. -->

<!ENTITY % address.element "INCLUDE" > <![%address.element;[ <!ENTITY % address.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % address.qname "address" > <!ELEMENT %address.qname; %address.content; > <!-- end of address.element -->]]>

<!ENTITY % address.attlist "INCLUDE" > <![%address.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of address.attlist -->]]>

<!ENTITY % blockquote.element "INCLUDE" > <![%blockquote.element;[ <!ENTITY % blockquote.content "( %Block.mix; )+" > <!ENTITY % blockquote.qname "blockquote" > <!ELEMENT %blockquote.qname; %blockquote.content; > <!-- end of blockquote.element -->]]>

<!ENTITY % blockquote.attlist "INCLUDE" > <![%blockquote.attlist;[ <!ATTLIST %; %Common.attrib; cite #IMPLIED > <!-- end of blockquote.attlist -->]]>

<!ENTITY % pre.element "INCLUDE" > <![%pre.element;[ <!ENTITY % pre.content "( #PCDATA | %InlStruct.class; %InlPhras.class; | %tt.qname; | %i.qname; | %b.qname; %I18n.class; %Anchor.class; | %script.qname; | %map.qname; %Inline.extra; )*" > <!ENTITY % pre.qname "pre" > <!ELEMENT %pre.qname; %pre.content; > <!-- end of pre.element -->]]>


<!ENTITY % pre.attlist "INCLUDE" > <![%pre.attlist;[ <!ATTLIST %; %Common.attrib; xml:space ( preserve ) #FIXED 'preserve' > <!-- end of pre.attlist -->]]>

<!-- ................... Элементы "Шапки" ................... -->

<!ENTITY % Heading.content "( #PCDATA | %Inline.mix; )*" >

<!ENTITY % h1.element "INCLUDE" > <![%h1.element;[ <!ENTITY % h1.qname "h1" > <!ELEMENT %h1.qname; %Heading.content; > <!-- end of h1.element -->]]>

<!ENTITY % h1.attlist "INCLUDE" > <![%h1.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of h1.attlist -->]]>

<!ENTITY % h2.element "INCLUDE" > <![%h2.element;[ <!ENTITY % h2.qname "h2" > <!ELEMENT %h2.qname; %Heading.content; > <!-- end of h2.element -->]]>

<!ENTITY % h2.attlist "INCLUDE" > <![%h2.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of h2.attlist -->]]>

<!ENTITY % h3.element "INCLUDE" > <![%h3.element;[ <!ENTITY % h3.qname "h3" > <!ELEMENT %h3.qname; %Heading.content; > <!-- end of h3.element -->]]>

<!ENTITY % h3.attlist "INCLUDE" > <![%h3.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of h3.attlist -->]]>

<!ENTITY % h4.element "INCLUDE" > <![%h4.element;[ <!ENTITY % h4.qname "h4" > <!ELEMENT %h4.qname; %Heading.content; > <!-- end of h4.element -->]]>

<!ENTITY % h4.attlist "INCLUDE" > <![%h4.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of h4.attlist -->]]>

<!ENTITY % h5.element "INCLUDE" > <![%h5.element;[ <!ENTITY % h5.qname "h5" > <!ELEMENT %h5.qname; %Heading.content; > <!-- end of h5.element -->]]>

<!ENTITY % h5.attlist "INCLUDE" > <![%h5.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of h5.attlist -->]]>

<!ENTITY % h6.element "INCLUDE" > <![%h6.element;[ <!ENTITY % h6.qname "h6" > <!ELEMENT %h6.qname; %Heading.content; > <!-- end of h6.element -->]]>

<!ENTITY % h6.attlist "INCLUDE" > <![%h6.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of h6.attlist -->]]>

<!-- конец xhtml-blkphras-1.mod -->


Блок Presentational


<!-- ...................................................................... --> <!-- Модуль XHTML Block Presentation/Презентация ......................... --> <!-- файл xhtml-blkpres-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-blkpres-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Block Presentation 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkpres-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Презентационные Элементы Блока

hr

Этот модуль объявляет элементы и их атрибуты, используемые для поддержки презентационной разметки уровня блока. -->

<!ENTITY % hr.element "INCLUDE" > <![%hr.element;[ <!ENTITY % hr.content "EMPTY" > <!ENTITY % hr.qname "hr" > <!ELEMENT %hr.qname; %hr.content; > <!-- end of hr.element -->]]>

<!ENTITY % hr.attlist "INCLUDE" > <![%hr.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of hr.attlist -->]]>

<!-- конец xhtml-blkpres-1.mod -->



Блок Structural


<!-- ...................................................................... --> <!-- Модуль XHTML Block Structural ....................................... --> <!-- файл xhtml-blkstruct-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-blkstruct-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Block Structural 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-blkstruct-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Блок Structural/Структурный

div, p

Этот модуль объявляет элементы и их атрибуты, используемые для поддержки структурной разметки уровня блока. -->

<!ENTITY % div.element "INCLUDE" > <![%div.element;[ <!ENTITY % div.content "( #PCDATA | %Flow.mix; )*" > <!ENTITY % div.qname "div" > <!ELEMENT %div.qname; %div.content; > <!-- end of div.element -->]]>

<!ENTITY % div.attlist "INCLUDE" > <![%div.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of div.attlist -->]]>

<!ENTITY % p.element "INCLUDE" > <![%p.element;[ <!ENTITY % p.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % p.qname "p" > <!ELEMENT %p.qname; %p.content; > <!-- end of p.element -->]]>

<!ENTITY % p.attlist "INCLUDE" > <![%p.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of p.attlist -->]]>

<!-- конец xhtml-blkstruct-1.mod -->



Цели дизайна


Содержание

H.1.

H.1.1.

H.1.2.

H.1.3.

H.1.4.

H.1.5.

Это приложение является информативным.

В этом приложении цели дизайна помечены лэйблом "Gn", а требования идентифицируются лэйблом "Rn.n".

Вот 4 главных целей дизайна для каркаса модуляризации XHTML:

[G1] Группировать семантические связанные части XHTML.

[G2] Использовать технологию ОТД (Определения Типа Документа) для поддержки создания связанных языков (поднаборов, наднаборов) специального назначения (портативные устройства, специальные устройства), гарантируя единство перекрывающихся частей.

[G3] Облегчать  будущую разработку, давая возможность замещать части языка улучшенными модулями (например, формы) без нарушения оставшихся частей языка.

[G4] Поощрять и облегчать повторное использование модулей в других языках.



Что такое Модуляризация XHTML?


Модуляризация XHTML это разделение XHTML 1.0, относительно HTML 4, на коллекцию абстрактных модулей, которые предоставляют специфические типы функциональности. Эти абстрактные модули реализованы в данной спецификации с использованием языка XML Document Type Definition/Определения Типа Документа, но ожидается появление реализации с использованием Схемы XML.

Правила определения абстрактных модулей и реализации их с использованием ОТД XML также определены в данном документе.

Эти модули могут комбинироваться друг с другом и с другими модулями для создания поднабора и расширения типов документа XHTML, которые можно квалифицировать как членов семейства типов документов XHTML.



Что такое XHTML?


XHTML это переформулирование HTML 4 как приложения XML.
XHTML 1.0 специфицирует три типа документа XML, соответствующие трём ОТД (Определениям Типа Документа) HTML 4: Strict/Строгое, Transitional/Переходное и Frameset/Набор Фрэймов.
XHTML 1.0 является базой семейства типов документов, подразделяющих и расширяющих HTML.



Для чего нужна Модуляризация XHTML?


Модуляризация XHTML - это задача специфицирования правильно определённых наборов элементов XHTML, которые (наборы) могут комбинироваться и расширяться авторами документов, создателями типов документов, другими спецификациями стандартов XML и дизайнерами приложений и продуктов с целью дать техническую возможность разработчикам содержимого доставлять это содержимое на большое количество разнообразных платформ.

За последние два года многие специализированные рынки приняли HTML в качестве языка содержимого. Происходит быстрое продвижение в направлении использования HTML на большом количестве новых компьютерных платформ.

В настоящее время наблюдается активность в продвижении HTML на мобильные устройства (наручные компьютеры, портативные телефоны и т.п.), телевизионные устройства (цифровые телевизоры, Web-браузеры на базе TV и т.п.) и приборы (устройства с фиксированными функциями). Каждое из этих устройств имеет свои особые требования и ограничения.

Модуляризация XHTML предоставляет дизайнерам продуктов средства спецификации элементов, поддерживаемых устройством, с использованием стандартных строительных блоков и стандартных методов определения того, какие блоки используются.

Эти модули служат "точками соответствия" для сообщества содержимого. Сообщество содержимого может теперь иметь установленную базу, поддерживающую определённые коллекции модулей, вместо того, чтобы беспокоиться об установленной базе, которая поддерживает то или иное изменение элементов XHTML. Использование стандартов является критичным для того, чтобы модуляризованный XHTML имел успех повсюду. Для разработчиков содержимого экономически нереально подгонять содержимое к каждому изменению элементов XHTML. Путём спецификации стандарта, любой процесс программы может автономно создавать содержимое для устройства, или устройство может автоматически загрузить программу, необходимую для работы модуля.

Модуляризация позволяет также расширять возможности представления XHTML  путём использования расширяемости XML без нарушения стандарта XHTML. Такой способ разработки даёт стабильную и реальную основу для разработчиков содержимого и издателей при обслуживании быстро множащихся технологических изменений на Web.



Дробность


Суммарно требования этого раздела можно выразить пожеланием - модули, определённые в каркасе, должны иметь высокий уровень дробности:

[R1.1] Абстрактные модули должны продвигать и обслуживать портативность содержимого.

[R1.2] Абстрактные модули должны продвигать стандартизацию профилей платформ.

[R1.3] Абстрактные модули должны достаточно большими, чтобы способствовать взаимодействию.

[R1.4] Абстрактные модули должны быть достаточно маленькими, чтобы исключить необходимость создания поднаборов.

[R1.5] Абстрактные модули должны объединять элементы со схожей или связанной семантикой.

[R1.6] Абстрактные модули должны разделять элементы с несхожей или несвязанной семантикой.

[R1.7] Модули должны быть достаточно маленькими, чтобы допускать модули одноэлементного типа документа.



Двунаправленный текст


<!-- ...................................................................... --> <!-- Модуль Элемента XHTML BDO ........................................... --> <!-- файл xhtml-bdo-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-bdo-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML BDO Element 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-bdo-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Элемент Bidirectional Override (bdo)

Этот модуль объявляет элемент 'bdo', который переопределяет двунаправленный алгоритм Unicode для выбранного фрагмента текста.

ЗАВИСИМОСТИ: Зависит от ключевого слова %XHTML.bidi;, объявленного в разделе условий как "INCLUDE". Поддержка двунаправленного текста включает элемент bdo и атрибут 'dir'. -->

<!ENTITY % bdo.element "INCLUDE" > <![%bdo.element;[ <!ENTITY % bdo.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % bdo.qname "bdo" > <!ELEMENT %bdo.qname; %bdo.content; > <!-- end of bdo.element -->]]>

<!ENTITY % bdo.attlist "INCLUDE" > <![%bdo.attlist;[ <!ATTLIST %; %Core.attrib; xml:lang #IMPLIED dir ( ltr | rtl ) #REQUIRED > ]]>

<!-- конец xhtml-bdo-1.mod -->



F.Списки


<!-- ...................................................................... --> <!-- Модуль XHTML Lists/Списки ........................................... --> <!-- файл xhtml-list-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы Ревизия: $Id: xhtml-list-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-list-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Списки

dl, dt, dd, ol, ul, li

Этот модуль объявляет типы элементов-списков и их атрибуты. -->

<!ENTITY % dl.qname "dl" > <!ENTITY % dt.qname "dt" > <!ENTITY % dd.qname "dd" > <!ENTITY % ol.qname "ol" > <!ENTITY % ul.qname "ul" > <!ENTITY % li.qname "li" >

<!-- dl: Definition List/Список определений ............................... -->

<!ENTITY % dl.element "INCLUDE" > <![%dl.element;[ <!ENTITY % dl.content "( %dt.qname; | %dd.qname; )+" > <!ELEMENT %dl.qname; %dl.content; > <!-- end of dl.element -->]]>

<!ENTITY % dl.attlist "INCLUDE" > <![%dl.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of dl.attlist -->]]>

<!-- dt: Definition Term/Определяемый термин ............................... -->

<!ENTITY % dt.element "INCLUDE" > <![%dt.element;[ <!ENTITY % dt.content "( #PCDATA | %Inline.mix; )*" > <!ELEMENT %dt.qname; %dt.content; > <!-- end of dt.element -->]]>

<!ENTITY % dt.attlist "INCLUDE" > <![%dt.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of dt.attlist -->]]>


<!-- dd: Definition Description/Определение (описание) Термина ................. -->

<!ENTITY % dd.element "INCLUDE" > <![%dd.element;[ <!ENTITY % dd.content "( #PCDATA | %Flow.mix; )*" > <!ELEMENT %dd.qname; %dd.content; > <!-- end of dd.element -->]]>

<!ENTITY % dd.attlist "INCLUDE" > <![%dd.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of dd.attlist -->]]>

<!-- ol: Ordered List/Упорядоченный Список (нумерованный) ................ -->

<!ENTITY % ol.element "INCLUDE" > <![%ol.element;[ <!ENTITY % ol.content "( %li.qname; )+" > <!ELEMENT %ol.qname; %ol.content; > <!-- end of ol.element -->]]>

<!ENTITY % ol.attlist "INCLUDE" > <![%ol.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of ol.attlist -->]]>

<!-- ul: Unordered List/Неупорядоченный Список (маркированный) ................ -->

<!ENTITY % ul.element "INCLUDE" > <![%ul.element;[ <!ENTITY % ul.content "( %li.qname; )+" > <!ELEMENT %ul.qname; %ul.content; > <!-- end of ul.element -->]]>

<!ENTITY % ul.attlist "INCLUDE" > <![%ul.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of ul.attlist -->]]>

<!-- li: List Item/Элемент Списка ..................................... -->

<!ENTITY % li.element "INCLUDE" > <![%li.element;[ <!ENTITY % li.content "( #PCDATA | %Flow.mix; )*" > <!ELEMENT %li.qname; %li.content; > <!-- end of li.element -->]]>

<!ENTITY % li.attlist "INCLUDE" > <![%li.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of li.attlist -->]]>

<!-- конец xhtml-list-1.mod -->


Формы


<!-- ...................................................................... --> <!-- Модуль XHTML Forms .................................................. --> <!-- файл xhtml-form-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-form-1.mod,v 4.1 2001/04/10 09:42:30 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-form-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Формы

form, label, input, select, optgroup, option, textarea, fieldset, legend, button

Этот модуль предоставляет поддержку для онлайновых форм, базируясь на возможностях форм HTML 4. -->

<!-- объявляет квалифицированные имена типов элементов: --> <!ENTITY % form.qname "form" > <!ENTITY % label.qname "label" > <!ENTITY % input.qname "input" > <!ENTITY % select.qname "select" > <!ENTITY % optgroup.qname "optgroup" > <!ENTITY % option.qname "option" > <!ENTITY % textarea.qname "textarea" > <!ENTITY % fieldset.qname "fieldset" > <!ENTITY % legend.qname "legend" > <!ENTITY % button.qname "button" >

<!-- %BlkNoForm.mix; включает все элементы вне блока формы плюс %Misc.class; --> <!ENTITY % BlkNoForm.mix "%Heading.class; | %List.class; | %BlkStruct.class; %BlkPhras.class; %BlkPres.class; %Table.class; %Block.extra; %Misc.class;" >

<!-- form: Элемент "Форма" ................................ -->

<!ENTITY % form.element "INCLUDE" > <![%form.element;[ <!ENTITY % form.content "( %BlkNoForm.mix; | %fieldset.qname; )+" > <!ELEMENT %form.qname; %form.content; > <!-- end of form.element -->]]>


<!ENTITY % form.attlist "INCLUDE" > <![%form.attlist;[ <!ATTLIST %; %Common.attrib; action #REQUIRED method ( get | post ) 'get' enctype 'application/x-www-form-urlencoded' accept-charset #IMPLIED accept #IMPLIED > <!-- end of form.attlist -->]]>

<!-- label: Текстовое Поле Формы "Лэйбл" ...................... -->

<!-- Каждый лэйбл обязан содержать НЕ более одного поля -->

<!ENTITY % label.element "INCLUDE" > <![%label.element;[ <!ENTITY % label.content "( #PCDATA | %input.qname; | %select.qname; | %textarea.qname; | %button.qname; | %InlStruct.class; %InlPhras.class; %I18n.class; %InlPres.class; %Anchor.class; %InlSpecial.class; %Inline.extra; %Misc.class; )*" > <!ELEMENT %label.qname; %label.content; > <!-- end of label.element -->]]>

<!ENTITY % label.attlist "INCLUDE" > <![%label.attlist;[ <!ATTLIST %; %Common.attrib; for IDREF #IMPLIED accesskey #IMPLIED > <!-- end of label.attlist -->]]>

<!-- input: Элемент Формы ............................... -->

<!ENTITY % input.element "INCLUDE" > <![%input.element;[ <!ENTITY % input.content "EMPTY" > <!ELEMENT %input.qname; %input.content; > <!-- end of input.element -->]]>

<!ENTITY % input.attlist "INCLUDE" > <![%input.attlist;[ <!ENTITY % InputType.class "( text | password | checkbox | radio | submit | reset | file | hidden | image | button )" > <!-- атрибут 'name' необходим для всех, кроме submit & reset --> <!ATTLIST %; %Common.attrib; type %InputType.class; 'text' name CDATA #IMPLIED value CDATA #IMPLIED checked ( checked ) #IMPLIED disabled ( disabled ) #IMPLIED readonly ( readonly ) #IMPLIED size #IMPLIED maxlength #IMPLIED src #IMPLIED alt #IMPLIED tabindex #IMPLIED accesskey #IMPLIED accept #IMPLIED > <!-- end of input.attlist -->]]>

<!-- select: Переключатель Опций ........................... -->



<!ENTITY % select.element "INCLUDE" > <![%select.element;[ <!ENTITY % select.content "( %optgroup.qname; | %option.qname; )+" > <!ELEMENT %select.qname; %select.content; > <!-- end of select.element -->]]>

<!ENTITY % select.attlist "INCLUDE" > <![%select.attlist;[ <!ATTLIST %; %Common.attrib; name CDATA #IMPLIED size #IMPLIED multiple ( multiple ) #IMPLIED disabled ( disabled ) #IMPLIED tabindex #IMPLIED > <!-- end of select.attlist -->]]>

<!-- optgroup: Группа Опций ............................ -->

<!ENTITY % optgroup.element "INCLUDE" > <![%optgroup.element;[ <!ENTITY % optgroup.content "( %option.qname; )+" > <!ELEMENT %optgroup.qname; %optgroup.content; > <!-- end of optgroup.element -->]]>

<!ENTITY % optgroup.attlist "INCLUDE" > <![%optgroup.attlist;[ <!ATTLIST %; %Common.attrib; disabled ( disabled ) #IMPLIED label #REQUIRED > <!-- end of optgroup.attlist -->]]>

<!-- option: Опция ......................... -->

<!ENTITY % option.element "INCLUDE" > <![%option.element;[ <!ENTITY % option.content "( #PCDATA )" > <!ELEMENT %option.qname; %option.content; > <!-- end of option.element -->]]>

<!ENTITY % option.attlist "INCLUDE" > <![%option.attlist;[ <!ATTLIST %; %Common.attrib; selected ( selected ) #IMPLIED disabled ( disabled ) #IMPLIED label # IMPLIED value CDATA #IMPLIED > <!-- end of option.attlist -->]]>

<!-- textarea: Многострочное Текстовое Поле ................... -->

<!ENTITY % textarea.element "INCLUDE" > <![%textarea.element;[ <!ENTITY % textarea.content "( #PCDATA )" > <!ELEMENT %textarea.qname; %textarea.content; > <!-- end of textarea.element -->]]>

<!ENTITY % textarea.attlist "INCLUDE" > <![%textarea.attlist;[ <!ATTLIST %; %Common.attrib; name CDATA #IMPLIED rows #REQUIRED cols #REQUIRED disabled ( disabled ) #IMPLIED readonly ( readonly ) #IMPLIED tabindex #IMPLIED accesskey #IMPLIED > <!-- end of textarea.attlist -->]]>



<!-- fieldset: Группа Элементов Формы ...................... -->

<!-- # PCDATA служит для разрешения проблем смешанного содержимого, по спецификации допустим только пробел -->

<!ENTITY % fieldset.element "INCLUDE" > <![%fieldset.element;[ <!ENTITY % fieldset.content "( #PCDATA | %legend.qname; | %Flow.mix; )*" > <!ELEMENT %fieldset.qname; %fieldset.content; > <!-- end of fieldset.element -->]]>

<!ENTITY % fieldset.attlist "INCLUDE" > <![%fieldset.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of fieldset.attlist -->]]>

<!-- legend: "Легенда" Группы Элементов ........................... -->

<!ENTITY % legend.element "INCLUDE" > <![%legend.element;[ <!ENTITY % legend.content "( #PCDATA | %Inline.mix; )*" > <!ELEMENT %legend.qname; %legend.content; > <!-- end of legend.element -->]]>

<!ENTITY % legend.attlist "INCLUDE" > <![%legend.attlist;[ <!ATTLIST %; %Common.attrib; accesskey #IMPLIED > <!-- end of legend.attlist -->]]>

<!-- button: Кнопка Push ............................... -->

<!ENTITY % button.element "INCLUDE" > <![%button.element;[ <!ENTITY % button.content "( #PCDATA | %BlkNoForm.mix; | %InlStruct.class; %InlPhras.class; %InlPres.class; %I18n.class; %InlSpecial.class; %Inline.extra; )*" > <!ELEMENT %button.qname; %button.content; > <!-- end of button.element -->]]>

<!ENTITY % button.attlist "INCLUDE" > <![%button.attlist;[ <!ATTLIST %; %Common.attrib; name CDATA #IMPLIED value CDATA #IMPLIED type ( button | submit | reset ) 'submit' disabled ( disabled ) #IMPLIED tabindex #IMPLIED accesskey #IMPLIED > <!-- end of button.attlist -->]]>

<!-- конец xhtml-form-1.mod -->


Фрэймы


<!-- ...................................................................... --> <!-- Модуль XHTML Frames ................................................. --> <!-- файл xhtml-frames-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-frames-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Frames 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-frames-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Фрэймы

frameset, frame, noframes

Этот модуль объявляет типы элементов, относящиеся к фрэймам, и их атрибуты. -->

<!ENTITY % frameset.qname "frameset" > <!ENTITY % frame.qname "frame" > <!ENTITY % noframes.qname "noframes" >

<!-- список разделённых запятыми MultiLength --> <!ENTITY % MultiLengths.datatype "CDATA" >

<!-- Модель содержимого документов XHTML зависит от того, следует за <head> элемент <frameset> или <body>. -->

<!ENTITY % frameset.element "INCLUDE" > <![%frameset.element;[ <!ENTITY % frameset.content "(( %frameset.qname; | %frame.qname; )+, %noframes.qname;? )" > <!ELEMENT %frameset.qname; %frameset.content; > <!-- end of frameset.element -->]]>

<!ENTITY % frameset.attlist "INCLUDE" > <![%frameset.attlist;[ <!ATTLIST %; %Core.attrib; rows #IMPLIED cols #IMPLIED > <!-- end of frameset.attlist -->]]> <![%xhtml-events.module;[ <!ATTLIST %; onload #IMPLIED onunload #IMPLIED > ]]>

<!-- зарезервированные имена фрэймов начинаются с "_", в остальных случаях - с буквы -->

<!ENTITY % frame.element "INCLUDE" > <![%frame.element;[ <!ENTITY % frame.content "EMPTY" > <!ELEMENT %frame.qname; %frame.content; > <!-- end of frame.element -->]]>


<!ENTITY % frame.attlist "INCLUDE" > <![%frame.attlist;[ <!ATTLIST %; %Core.attrib; longdesc #IMPLIED src #IMPLIED frameborder ( 1 | 0 ) '1' marginwidth #IMPLIED marginheight #IMPLIED noresize ( noresize ) #IMPLIED scrolling ( yes | no | auto ) 'auto' > <!-- end of frame.attlist -->]]>

<!-- изменено на другие объявления .................... -->

<!-- переопределяет модель содержимого элемента html, замещаемого frameset'ом для body --> <!ENTITY % html.content "( %head.qname;, %frameset.qname; )" >

<!-- контейнер альтернативного содержимого для бесфрэймого представления -->

<!ENTITY % noframes.element "INCLUDE" > <![%noframes.element;[ <!ENTITY % noframes.content "( %body.qname; )"> <!ELEMENT %noframes.qname; %noframes.content; > <!-- end of noframes.element -->]]>

<!ENTITY % noframes.attlist "INCLUDE" > <![%noframes.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of noframes.attlist -->]]>

<!-- конец xhtml-frames-1.mod -->


Гибридные типы документов


Гибридный тип документа это тип документа, составленный из коллекции ОТД XML или Модулей ОТД. Основным назначением Каркаса Модуляризации, описанного в данном документе, является: дать автору ОТД возможность сочетать элементы из нескольких абстрактных модулей в гибридный тип документа, разрабатывать документы относительно этого гибридного типа документов и легализовать эти документы относительно ассоциированного определения гибридного типа документа.

Одним из самых важных преимуществ XML по сравнению с SGML является то, что XML уменьшает препятствия на пути к стандартизации наборов элементов, что позволяет сообществам обмениваться данными в подходящем формате.

В то же время, относительно статичная природа HTML как языка содержимого Web означает, что любой член этих сообществ раньше имел мало надежд на то, что его типы документов XML могут быть широко приняты в качестве стандартов Web.

Каркас Модуляризации даёт возможность динамически сочетать эти разнообразные типы документов в типах документов семейства XHTML, устраняя в дальнейшем препятствия на пути включения этих зависящих от специфики домена словарей в документы XHTML.



Гипертекст


<!-- ...................................................................... --> <!-- XHTML Hypertext Module .............................................. --> <!-- файл: xhtml-hypertext-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-hypertext-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-hypertext-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Гипертекст

а

Этот модуль объявляет тип элемента "якорь" ('a'), который определяет ресурс гипертекстовой ссылки. Ресурс назначения (или ссылка 'target') идентифицируется через атрибут 'id', а не 'name', как это было в HTML. -->

<!-- ............ Элемент Anchor/Якорь ............ -->

<!ENTITY % a.element "INCLUDE" > <![%a.element;[ <!ENTITY % a.content "( #PCDATA | %InlNoAnchor.mix; )*" > <!ENTITY % a.qname "a" > <!ELEMENT %a.qname; %a.content; > <!-- end of a.element -->]]>

<!ENTITY % a.attlist "INCLUDE" > <![%a.attlist;[ <!ATTLIST %; %Common.attrib; href #IMPLIED charset #IMPLIED type #IMPLIED hreflang #IMPLIED rel #IMPLIED rev #IMPLIED accesskey #IMPLIED tabindex #IMPLIED > <!-- end of a.attlist -->]]>

<!-- конец xhtml-hypertext-1.mod -->



Идентификация имени


<!-- ...................................................................... --> <!-- Модуль XHTML Name Identifier ........................................ --> <!-- файл xhtml-nameident-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-nameident-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Name Identifier 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-nameident-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Идентификатор Имени

атрибут 'name' в form, img, a, map, applet, frame, iframe

Этот модуль объявляет атрибут 'name' типов элементов при использовании в качестве идентификатора узла для поддержки наследования ссылок и скриптинга. Это не включает те случаи, когда 'name' используется как контейнер элемента формы form, имён свойства или метаинформации.

Этот модуль должен быть установлен после тех модулей, которые он модифицирует. -->

<!ENTITY % form.attlist "IGNORE" > <![%form.attlist;[ <!ATTLIST %; name CDATA #IMPLIED > <!-- end of form.attlist -->]]>

<!ENTITY % img.attlist "IGNORE" > <![%img.attlist;[ <!ATTLIST %; name CDATA #IMPLIED > <!-- end of img.attlist -->]]>

<!ENTITY % a.attlist "IGNORE" > <![%a.attlist;[ <!ATTLIST %; name CDATA #IMPLIED > <!-- end of a.attlist -->]]>

<!ENTITY % map.attlist "IGNORE" > <![%map.attlist;[ <!ATTLIST %; name CDATA #IMPLIED > <!-- end of map.attlist -->]]>

<!ENTITY % applet.attlist "IGNORE" > <![%applet.attlist;[ <!ATTLIST %; name CDATA #IMPLIED > <!-- end of applet.attlist -->]]>

<!ENTITY % frame.attlist "IGNORE" > <![%frame.attlist;[ <!ATTLIST %; name CDATA #IMPLIED > <!-- end of frame.attlist -->]]>

<!ENTITY % iframe.attlist "IGNORE" > <![%iframe.attlist;[ <!ATTLIST %; name CDATA #IMPLIED > <!-- end of iframe.attlist -->]]>

<!-- конец xhtml-nameident.mod -->



Идиосинкразии пространства имён


В то время как определённый здесь подход допускает определение языков разметки, соответствующих ПИ XML и XML, некоторые возможности, определённые спецификацией ПИ XML, не поддерживаются:

Пространство имён XML разрешает переобъявление атрибута xmlns для ПИ в любой точке дерева, а также разрешает при переобъявлении переключение между использованием ПИ по умолчанию и с префиксами и изменение префикса.

Метод, определённый в данном документе, этого не допускает. По всему объекту документа данное ПИ обязано использовать один и тот же префикс ПИ (если префиксирование используется) или обязано использоваться в области видимости по умолчанию.

При использовании значений по умолчанию ПИ XML верным будет основываться на ОТД документа для того, чтобы информировать разборщики о ПИ элементов. Однако, поскольку от процессоров, умеющих обрабатывать ПИ, не требуется включать ОТД при обсчёте документа, разработчики содержимого должны объявлять ПИ XML для элемента в тех случаях, когда ПИ изменяется:

... <p> <myelement xmlns="..." /> </p>

[]   []   []



Iframe


<!-- ...................................................................... --> <!-- Модуль XHTML IFrame ................................................. --> <!-- файл xhtml-iframe-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-iframe-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Inline Frame Element 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-iframe-1.mod"

Ревизии: #2000-10-22: добавлен #PCDATA к модели содержимого <iframe>, как в HTML 4 ....................................................................... -->

<!-- Инлайн-Фрэймы

iframe

Этот модуль объявляет тип элемента iframe и его атрибуты, используемые при создании инлайн-фрэйма в документе. -->

<!-- Инлайн-Фрэймы .................................... -->

<!ENTITY % iframe.content "( #PCDATA | %Flow.mix; )*" > <!ENTITY % iframe.qname "iframe" > <!ELEMENT %iframe.qname; %iframe.content; > <!ATTLIST %; %Core.attrib; longdesc #IMPLIED src #IMPLIED frameborder ( 1 | 0 ) '1' marginwidth #IMPLIED marginheight #IMPLIED scrolling ( yes | no | auto ) 'auto' height #IMPLIED width #IMPLIED >

<!-- конец xhtml-iframe-1.mod -->



Именование объектов параметров


Эта спецификация классифицирует объекты параметров по семи категориям и именует их соответственно, используя следующие суффиксы:

.mod

объекты параметров используют суффикс .mod , если они используются для представления модуля ОТД (коллекции элементов, атрибутов, объектов параметров и т.д.). Каждый модуль в этой спецификации является атомарной единицей и может быть представлен как отдельный объект файла.

.module

объекты параметров используют суффикс .module , если они используются для управления включением модуля ОТД и содержат ключевое слово INCLUDE или IGNORE секции условий.

.qname

объекты параметров используют суффикс .qname , если они используются для представления квалифицированного имени элемента. См. дополнительно о квалифицированных именах .

.content

объекты параметров используют суффикс .content , если они используются для представления модели содержимого типа элемента.

.class

объекты параметров используют суффикс .class , если они используются для представления элементов одного класса.

.mix

объекты параметров используют суффикс .mix , если они используются для представления коллекции типов элементов из разных классов.

.attrib

объекты параметров используют суффикс .attrib , если они используются для представления группы лексем, представляющих одну или несколько полных спецификаций атрибутов с объявлением ATTLIST.

Например, в HTML 4 объект параметра %block; определён для представления разнородной коллекции типов элементов, которые являются элементами уровня блока. В этой спецификации результирующим объектом параметра является
%Block.mix;.

При определении объектов параметров в классах, определённых здесь, модули должны "видеть" имена объектов, используя уникальные префиксы. Например, модель содержимого для элемента myelement в модуле mymodule может быть именована MYMODULE.myelement.content. Возможны и другие схемы. Независимо от используемой схемы, авторы модулей должны удостовериться, что объекты параметров, которые они (авторы) определили, именованы уникально, что они не конфликтуют с другими объектами параметров и что методы интерфейса очевидны для пользователей.



Информативные ссылки


[MATHML]

"", W3C Recommendation, D. Carlisle, P. Ion, R. Miner, N. Poppelie,

eds., 21 февраля 2001.

Находится на   http://www.w3.org/TR/2001/REC-MathML2-20010221

[SMIL]

"", W3C Recommendation, P. Hoschka, ed., 15 июня 1998.

Находится на   http://www.w3.org/TR/1998/REC-smil-19980615

[XLINK]

"", W3C Proposed Recommendation, S. DeRose, E. Maler, D. Orchard, eds., 20 декабря 2000.

Находится на   http://www.w3.org/TR/2000/PR-xlink-20001220

[XMLSTYLE]

"", W3C Recommendation, J. Clark,

ed., 29 июня 1999.

Находится на   http://www.w3.org/TR/1999/REC-xml-stylesheet-19990629

[]   []   []



Инлайн Phrasal


<!-- ...................................................................... --> <!-- Модуль XHTML Inline Phrasal ......................................... --> <!-- файл xhtml-inlphras-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-inlphras-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Inline Phrasal 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlphras-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Inline Phrasal

abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var

Этот модуль объявляет элементы и их атрибуты, используемые для поддержки фразовой разметки уровня инлайн. -->

<!ENTITY % abbr.element "INCLUDE" > <![%abbr.element;[ <!ENTITY % abbr.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % abbr.qname "abbr" > <!ELEMENT %abbr.qname; %abbr.content; > <!-- end of abbr.element -->]]>

<!ENTITY % abbr.attlist "INCLUDE" > <![%abbr.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of abbr.attlist -->]]>

<!ENTITY % acronym.element "INCLUDE" > <![%acronym.element;[ <!ENTITY % acronym.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % acronym.qname "acronym" > <!ELEMENT %acronym.qname; %acronym.content; > <!-- end of acronym.element -->]]>

<!ENTITY % acronym.attlist "INCLUDE" > <![%acronym.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of acronym.attlist -->]]>

<!ENTITY % cite.element "INCLUDE" > <![%cite.element;[ <!ENTITY % cite.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % cite.qname "cite" > <!ELEMENT %cite.qname; %cite.content; > <!-- end of cite.element -->]]>


<!ENTITY % cite.attlist "INCLUDE" > <![%cite.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of cite.attlist -->]]>

<!ENTITY % code.element "INCLUDE" > <![%code.element;[ <!ENTITY % code.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % code.qname "code" > <!ELEMENT %code.qname; %code.content; > <!-- end of code.element -->]]>

<!ENTITY % code.attlist "INCLUDE" > <![%code.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of code.attlist -->]]>

<!ENTITY % dfn.element "INCLUDE" > <![%dfn.element;[ <!ENTITY % dfn.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % dfn.qname "dfn" > <!ELEMENT %dfn.qname; %dfn.content; > <!-- end of dfn.element -->]]>

<!ENTITY % dfn.attlist "INCLUDE" > <![%dfn.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of dfn.attlist -->]]>

<!ENTITY % em.element "INCLUDE" > <![%em.element;[ <!ENTITY % em.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % em.qname "em" > <!ELEMENT %em.qname; %em.content; > <!-- end of em.element -->]]>

<!ENTITY % em.attlist "INCLUDE" > <![%em.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of em.attlist -->]]>

<!ENTITY % kbd.element "INCLUDE" > <![%kbd.element;[ <!ENTITY % kbd.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % kbd.qname "kbd" > <!ELEMENT %kbd.qname; %kbd.content; > <!-- end of kbd.element -->]]>

<!ENTITY % kbd.attlist "INCLUDE" > <![%kbd.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of kbd.attlist -->]]>

<!ENTITY % q.element "INCLUDE" > <![%q.element;[ <!ENTITY % q.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % q.qname "q" > <!ELEMENT %q.qname; %q.content; > <!-- end of q.element -->]]>



<!ENTITY % q.attlist "INCLUDE" > <![%q.attlist;[ <!ATTLIST %; %Common.attrib; cite #IMPLIED > <!-- end of q.attlist -->]]>

<!ENTITY % samp.element "INCLUDE" > <![%samp.element;[ <!ENTITY % samp.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % samp.qname "samp" > <!ELEMENT %samp.qname; %samp.content; > <!-- end of samp.element -->]]>

<!ENTITY % samp.attlist "INCLUDE" > <![%samp.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of samp.attlist -->]]>

<!ENTITY % strong.element "INCLUDE" > <![%strong.element;[ <!ENTITY % strong.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % strong.qname "strong" > <!ELEMENT %strong.qname; %strong.content; > <!-- end of strong.element -->]]>

<!ENTITY % strong.attlist "INCLUDE" > <![%strong.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of strong.attlist -->]]>

<!ENTITY % var.element "INCLUDE" > <![%var.element;[ <!ENTITY % var.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % var.qname "var" > <!ELEMENT %var.qname; %var.content; > <!-- end of var.element -->]]>

<!ENTITY % var.attlist "INCLUDE" > <![%var.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of var.attlist -->]]>

<!-- конец xhtml-inlphras-1.mod -->


Инлайн Presentational


<!-- ...................................................................... --> <!-- Модуль XHTML Inline Presentation .................................... --> <!-- файл xhtml-inlpres-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-inlpres-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Inline Presentation 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlpres-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Инлайн-Элементы Презентации

b, big, i, small, sub, sup, tt

Этот модуль объявляет элементы и их атрибуты, используемые для поддержки презентационной разметки уровня инлайн. --> -->

<!ENTITY % b.element "INCLUDE" > <![%b.element;[ <!ENTITY % b.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % b.qname "b" > <!ELEMENT %b.qname; %b.content; > <!-- end of b.element -->]]>

<!ENTITY % b.attlist "INCLUDE" > <![%b.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of b.attlist -->]]>

<!ENTITY % big.element "INCLUDE" > <![%big.element;[ <!ENTITY % big.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % big.qname "big" > <!ELEMENT %big.qname; %big.content; > <!-- end of big.element -->]]>

<!ENTITY % big.attlist "INCLUDE" > <![%big.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of big.attlist -->]]>

<!ENTITY % i.element "INCLUDE" > <![%i.element;[ <!ENTITY % i.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % i.qname "i" > <!ELEMENT %i.qname; %i.content; > <!-- end of i.element -->]]>


<!ENTITY % i.attlist "INCLUDE" > <![%i.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of i.attlist -->]]>

<!ENTITY % small.element "INCLUDE" > <![%small.element;[ <!ENTITY % small.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % small.qname "small" > <!ELEMENT %small.qname; %small.content; > <!-- end of small.element -->]]>

<!ENTITY % small.attlist "INCLUDE" > <![%small.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of small.attlist -->]]>

<!ENTITY % sub.element "INCLUDE" > <![%sub.element;[ <!ENTITY % sub.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % sub.qname "sub" > <!ELEMENT %sub.qname; %sub.content; > <!-- end of sub.element -->]]>

<!ENTITY % sub.attlist "INCLUDE" > <![%sub.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of sub.attlist -->]]>

<!ENTITY % sup.element "INCLUDE" > <![%sup.element;[ <!ENTITY % sup.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % sup.qname "sup" > <!ELEMENT %sup.qname; %sup.content; > <!-- end of sup.element -->]]>

<!ENTITY % sup.attlist "INCLUDE" > <![%sup.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of sup.attlist -->]]>

<!ENTITY % tt.element "INCLUDE" > <![%tt.element;[ <!ENTITY % tt.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % tt.qname "tt" > <!ELEMENT %tt.qname; %tt.content; > <!-- end of tt.element -->]]>

<!ENTITY % tt.attlist "INCLUDE" > <![%tt.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of tt.attlist -->]]>

<!-- конец xhtml-inlpres-1.mod -->


Инлайн Structural


<!-- ...................................................................... --> <!-- Модуль XHTML Inline Structural ...................................... --> <!-- файл xhtml-inlstruct-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-inlstruct-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Inline Structural 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-inlstruct-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Inline Structural

br, span

Этот модуль объявляет элементы и их атрибуты, используемые для поддержки структурной разметки уровня инлайн. -->

<!-- br: форсированный обрыв строки ............................. -->

<!ENTITY % br.element "INCLUDE" > <![%br.element;[

<!ENTITY % br.content "EMPTY" > <!ENTITY % br.qname "br" > <!ELEMENT %br.qname; %br.content; >

<!-- end of br.element -->]]>

<!ENTITY % br.attlist "INCLUDE" > <![%br.attlist;[ <!ATTLIST %; %Core.attrib; > <!-- end of br.attlist -->]]>

<!-- span: общий инлайн-контейнер .................... -->

<!ENTITY % span.element "INCLUDE" > <![%span.element;[ <!ENTITY % span.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % span.qname "span" > <!ELEMENT %span.qname; %span.content; > <!-- end of span.element -->]]>

<!ENTITY % span.attlist "INCLUDE" > <![%span.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of span.attlist -->]]>

<!-- конеу xhtml-inlstruct-1.mod -->



Интегрирование отдельных модулей в XHTML


Если модуль (помните, что модуль может быть коллекцией других модулей) содержит элементы, которые только ссылаются один на другой в своей модели содержимого, то говорят, что модуль "внутренне завершён". В связи с этим модуль может использоваться как таковой; (например, Вы можете определить ОТД, которое является этим модулем, и использовать один из его элементов в качестве корневого элемента). Интеграция такого модуля в XHTML - это процесс из трёх этапов:

Решите, какой(ие) элемент(ы) может быть корневым(и) в новом модуле.

Определите, где эти элементы необходимо подключить к дереву содержимого XHTML.

Затем для каждой точки подключения в дереве содержимого добавьте корневой элемент(ы) к определению содержимого элементов XHTML.

Рассмотрим подключение элементов, определённых .

Элемент myelement является корневым. Чтобы подключить этот элемент под элементом img, и только элементом img , в XHTML может сработать следующее:

<!ENTITY % img.content "( %MyModule.myelement.qname; )*">

ОТД, определённое с этой моделью содержимого, позволяет создать документ, подобный следующему фрагменту:

<img src="..."> <myml:myelement >Это содержимое локально определённого элемента</myml:myelement> </img>

Важно отметить, что обычно элемент img имеет модель содержимого EMPTY. Путём добавления  myelement к этой модели содержимого мы в действительности просто заместили

EMPTY  на  myelement.

В случае с элементами, которые уже имеют определённые модели содержимого, добавление элемента может потребовать переобъявления существующей модели содержимого в дополнение к  myelement.



Использование модуля как отдельного (stand-alone) ОТД


Иногда необходимо, чтобы модуль XHTML использовался также в качестве отдельного ОТД (Определения Типа Документа). Хорошим примером может служить вышеприведённый модуль Inventory. Его объекты должны быть внедряемы в документ XHTML и доступны как отдельные самостоятельные документы, извлечённые из базы данных (к примеру). Проще всего сделать это путём определения файла ОТД, который устанавливает компоненты Вашего модуля.

Подобное ОТД могло бы иметь такую структуру:

Включить модуль XHTML Datatypes (Ваш модуль qnames скорее всего использует некоторые из этих типов данных - он обычно использует тип данных URI для атрибута xmlns).

Включить модуль Qnames для Вашего модуля.

Определить объект параметра NS.decl.attrib как %MODULE.xmlns.extra.attrib;.

Включить модуль(и) Declaration для Вашего модуля.

Пример этого для нашего модуля Inventory приведён здесь:

<!-- ...................................................................... --> <!-- Inventory Elements DTD ............................................... --> <!-- file: inventory-1.dtd

PUBLIC "-//MY COMPANY//DTD XHTML Inventory 1.0//EN" SYSTEM "http://www.example.com/DTDs/inventory-1.dtd"

xmlns:inventory="http://www.example.com/xmlns/inventory" ...................................................................... -->

<!-- Inventory Module

shelf item sku desc price

Этот модуль определяет простую структуру инвентаризации -->

<!-- Вставляет типы данных --> <!ENTITY % xhtml-datatypes.mod PUBLIC "-//W3C//ENTITIES XHTML Datatypes 1.0//EN" "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-datatypes-1.mod" > %xhtml-datatypes.mod;

<!-- Вставляет квалифицированные имена --> <!ENTITY % Inventory-qname.mod SYSTEM "inventory-qname-1.mod" > %Inventory-qname.mod;

<!ENTITY % NS.decl.attrib "%Inventory.xmlns.extra.attrib;">

<!ENTITY % Inventory.mod SYSTEM "inventory-1.mod" > %Inventory.mod;


<!-- end of inventory-1.dtd -->

На это ОТД могут затем ссылаться документы, которые используют только элементы из Вашего модуля:

<!DOCTYPE shelf SYSTEM "inventory-1.dtd"> <shelf xmlns="http://www.example.com/xmlns/inventory"> <item> <desc> this is a description. </desc> <sku> this is the price. </sku> <price> this is the price. </price> </item> </shelf>

Этот метод допускает определение элементов и атрибутов, находящихся в своём собственном пространстве имён. Он позволяет также разработчикам содержимого использовать префикс по умолчанию для элементов и атрибутов:

<!DOCTYPE inventory:shelf SYSTEM "inventory-1.dtd" [ <!ENTITY % Inventory.prefixed "INCLUDE"> ]> <inventory:shelf xmlns:inventory="http://www.example.com/xmlns/inventory"> <inventory:item> <inventory:desc> this is a description. </inventory:desc> <inventory:sku> this is the sku. </inventory:sku> <inventory:price> this is the price. </inventory:price> </inventory:item> </inventory:shelf>

Наконец, объект документа может использовать другой префикс пространства имён XML путём переобъявления его с внутренними поднаборами в шапке DOCTYPE:

<!DOCTYPE i:shelf SYSTEM "inventory-1.dtd" [ <!ENTITY % Inventory.prefixed "INCLUDE"> <!ENTITY % Inventory.prefix "i"> ]> <i:shelf xmlns:i="http://www.example.com/xmlns/inventory"> <i:item> <i:desc> this is a description. </i:desc> <i:sku> this is the price. </i:sku> <i:price> this is the price. </i:price> </i:item> </i:shelf>


Использование нового ОТД


После того как новое ОТД разработано, оно может быть использовано в любом документе. ОТД используется просто - ссылкой на него в объявлении DOCTYPE документа:

<!DOCTYPE html SYSTEM "myml-1_0.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Пример, использующий значения по умолчанию.</title> </head> <body> <p>Это содержимое пространства имён XHTML.</p> <myelement> Это содержимое пространства имён SimpleML. <myotherelement /> </myelement> <p><img src="missing" alt="Missing image" myattr="value"/></p> </body> </html>

Документ может также использовать элементы вне пространства имён XHTML путём присоединения к ним префиксов:

<!DOCTYPE html SYSTEM "myml-1_0.dtd" [ <!ENTITY % MyML.prefixed "INCLUDE" > ]> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Пример, использующий значения по умолчанию.</title> </head> <body> <p>Это содержимое пространства имён XHTML.</p> <myml:myelement> Это содержимое пространства имён myml. <myml:myotherelement /> </myml:myelement> <p><img src="missing" alt="Missing image" myml:myattr="value" /></p> </body> </html>

[]   []   []



Изображения


<!-- ...................................................................... --> <!-- Модуль XHTML Images ................................................. --> <!-- файл xhtml-image-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. ревизия: $Id: xhtml-image-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-image-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Изображения

img

Этот модуль предоставляет разметку для поддержки базового внедрения изображений. -->

<!-- Чтобы исключить проблемы при использовании только-текстовых пользовательских агентов (ПА), а также чтобы сделать содержимое изображения понятным и доступным для навигации для пользователей невизуальных ПА, Вы должны предоставить с помощью атрибута 'alt', описание и исключить использование серверных карт изображений. -->

<!ENTITY % img.element "INCLUDE" > <![%img.element;[ <!ENTITY % img.content "EMPTY" > <!ENTITY % img.qname "img" > <!ELEMENT %img.qname; %img.content; > <!-- end of img.element -->]]>

<!ENTITY % img.attlist "INCLUDE" > <![%img.attlist;[ <!ATTLIST %; %Common.attrib; src #REQUIRED alt #REQUIRED longdesc #IMPLIED height #IMPLIED width #IMPLIED > <!-- end of img.attlist -->]]>

<!-- конец xhtml-image-1.mod -->



J. Благодарности


Это приложение является информативным.

Эта спецификация была подготовлена W3C HTML Working Group.

Её членами на момент публикации были:

Steven Pemberton, CWI (HTML Working Group Chair)

Murray Altheim, Sun Microsystems

Daniel Austin, Mozquito Technologies

Jonny Axelsson, Opera Software

Mark Baker, Sun Microsystems

Wayne Carr, Intel

Tantek Celik, Microsoft

Doug Dominiak, Openwave Systems

Andrew W. Donoho, IBM

Herman Elenbaas, Philips Electronics

Beth Epperson, Netscape/AOL

Masayasu Ishikawa, W3C (HTML Activity Lead)

Shin'ichi Matsui, Panasonic

Shane McCarron, Applied Testing and Technology

Ann Navarro, WebGeek, Inc.

Peter Stark, Ericsson

Michel Suignard, Microsoft

Jeremy Wadsworth, Quark Inc.

Malte Wedel, Mozquito Technologies

Ted Wugofski, Openwave Systems

[]     []



Эволюция Модулей XHTML


Каждый модуль этой спецификации получил уникальный идентификатор, который соблюдает правила именования, описанные в предыдущем разделе. Со временем модули могут развиваться. Логическое разветвление при такой эволюции может привести к тому, что некоторые аспекты модуля уже не будут более совместимыми с предыдущим определением. Чтобы иметь уверенность, что типы документов, определённые относительно модулей, определённых в данной спецификации, продолжают работать, идентификаторы, ассоциированные с изменённым модулем, должны обновляться. В особенности Formal Public Identifier и System Identifier модуля будут изменяться путём модификации идентификатора версии. Типы документов, которые "хотят" быть внедрёнными в обновлённую функциональность, должны быть таким же образом обновлены.

В дополнение к этому, более ранняя версия(ии) модуля продолжат быть доступными через их более ранние уникальные идентификаторы. Таким образом, типы документов, разработанные с использованием модулей XHTML, продолжат функционирование, используя их оригинальные определения, даже при расширении и развитии коллекции. Таким же образом документы, написанные относительно существующих типов документов, останутся работоспособными, используя более ранние определения модулей.

Авторам других Модулей Семейства XHTML и Типов Документов рекомендуется применять сходную стратегию, чтобы быть уверенными, что функционирование типов документов на базе соответствующих модулей и объектов документов на базе этих типов документов продолжится.

[]   []   []



Клиентские карты изображений


<!-- ...................................................................... --> <!-- Модуль XHTML Client-side Image Map .................................. --> <!-- файл xhtml-csismap-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-csismap-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Client-side Image Maps 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-csismap-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Клиентские Карты Изображений

area, map

Этот модуль объявляет элементы и атрибуты для поддержки карт изображений на стороне клиента. Для этого необходимо, чтобы модуль Image (или модуль, объявляющий тип элемента img) был включён в ОТД.

Это может быть размещено в одном или в нескольких отдельных документах, хотя последнее не поддерживается достаточно широко. -->

<!ENTITY % area.element "INCLUDE" > <![%area.element;[ <!ENTITY % area.content "EMPTY" > <!ENTITY % area.qname "area" > <!ELEMENT %area.qname; %area.content; > <!-- end of area.element -->]]>

<!ENTITY % Shape.datatype "( rect | circle | poly | default )"> <!ENTITY % Coords.datatype "CDATA" >

<!ENTITY % area.attlist "INCLUDE" > <![%area.attlist;[ <!ATTLIST %; %Common.attrib; href #IMPLIED shape 'rect' coords #IMPLIED nohref ( nohref ) #IMPLIED alt #REQUIRED tabindex #IMPLIED accesskey #IMPLIED > <!-- end of area.attlist -->]]>

<!-- модифицируйте список определений атрибута anchor, чтобы разрешить клиентские карты изображений --> <!ATTLIST %; shape 'rect' coords #IMPLIED >

<!-- модифицируйте список определений атрибута img, чтобы разрешить клиентские карты изображений --> <!ATTLIST %; usemap IDREF #IMPLIED >


<!-- модифицируйте список определений атрибута input формы, чтобы разрешить клиентские карты изображений --> <!ATTLIST %; usemap IDREF #IMPLIED >

<!-- модифицируйте список определений атрибута object, чтобы разрешить клиентские карты изображений --> <!ATTLIST %; usemap IDREF #IMPLIED >

<!-- 'usemap' указывает на атрибут 'id' элемента <map>, который обязан находиться в том же самом документе; поддержка внешних карт документа не осуществлялась достаточно широко в HTML и изъята из XHTML.

Считается ошибкой, если элемент, на который указывает usemap IDREF, появляется где-либо, кроме элемента <map>. -->

<!ENTITY % map.element "INCLUDE" > <![%map.element;[ <!ENTITY % map.content "(( %Block.mix; ) | %area.qname; )+" > <!ENTITY % map.qname "map" > <!ELEMENT %map.qname; %map.content; > <!-- end of map.element -->]]>

<!ENTITY % map.attlist "INCLUDE" > <![%map.attlist;[ <!ATTLIST %; %XHTML.xmlns.attrib; id ID #REQUIRED %class.attrib; %title.attrib; %Core.extra.attrib; %I18n.attrib; %Events.attrib; > <!-- end of map.attlist -->]]>

<!-- конец xhtml-csismap-1.mod -->


Коллекции атрибутов


Многие из абстрактных модулей этого раздела определяют необходимые атрибуты для элементов. Ниже дана таблица, в которой определены некоторые коллекции атрибутов, на которые имеются ссылки в модулях. Эти выражения никоим образом не должны рассматриваться как нормативные или мандатные. Они являются редакторским соглашением для данного документа. При использовании в данном разделе они служат расширением нормативного термина, но не самим термином.

Следующие базовые наборы атрибутов используются во многих элементах. При каждом их появлении, их использование идентифицируется именем коллекции, но не перечислением всего списка.

Название коллекции

Атрибуты коллекции

Core/Ядро class (), id (), title ()
I18N xml:lang ()
Events/События onclick (), ondblclick (), onmousedown (), onmouseup (), onmouseover (),
onmousemove (), onmouseout (Script),
onkeypress (), onkeydown (), onkeyup ()
Style/Стиль style ()
Common/Общая + + +

Обратите внимание, что коллекция Events определена только тогда, когда выбран модуль Intrinsic Events. Иначе коллекция Events является пустой.

Заметьте также, что коллекция Style определена только тогда, когда выбран модуль Style Attribute. Иначе коллекция Style является пустой.



Краткое Содержание



1.

2.

3.

4.

5.

A.

B.

C.

D.

E.

F.

G.

H.

J.




Квалифицированные имена XHTML


<!-- ....................................................................... --> <!-- Модуль XHTML Qname .................................................... --> <!-- Файл xhtml-qname-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-qname-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-qname-1.mod"

Ревизии: #2000-10-22: добавила объявление qname для элементов ruby ....................................................................... -->

<!-- Модуль XHTML Qname (Qualified Name)

Этот модуль состоит из двух частей, обозначенных Section 'A' и 'B':

Section A объявляет объекты параметров для поддержки квалифицированных имён пространства имён, объявления пространства имён и префикс для XHTML и расширений.

Section B объявляет объекты параметров, используемые для предоставления квалифицированных имён пространства имён для всех типов элементов XHTML:

%applet.qname; xmlns-квалифицированное имя для <applet> %base.qname; xmlns-квалифицированное имя для <base> ...

Расширения XHTML могут создавать модуль, подобный этому. В дистрибутивы XHTML включён модуль-шаблон ('template-qname-1.mod'), предназначенный для этих целей. -->

<!-- Section A: XHTML XML Namespace Framework/Каркас Пространства Имён :::::::::::: -->

<!-- 1. Объявляет %XHTML.prefixed; - ключевое слово секции условий, используемое для активации префиксов пространства имён. Значение по умолчанию должно наследовать '%NS.prefixed;' из драйвера ОТД, так что. пока не переопределено, поведение по умолчанию следует полной схеме префиксов ОТД. --> <!ENTITY % NS.prefixed "IGNORE" > <!ENTITY % XHTML.prefixed "%NS.prefixed;" >


<!-- 2. Объявляет объект параметра (например, %XHTML.xmlns;), содержащий ссылку на URI, используемый для идентификации пространства имён XHTML: --> <!ENTITY % XHTML.xmlns "http://www.w3.org/1999/xhtml" >

<!-- 3. Объявляет объекты параметра (например, %XHTML.prefix;), содержащие строку/строки по умолчанию префикса пространства имён, для использования в тех случаях, когда префиксы доступны (включены). Это может быть переопределено в драйвере ОТД или во внутреннем поднаборе объекта документа. Если префикс по умолчанию не нужен, то это может быть объявлено как пустая строка.

ПРИМЕЧАНИЕ: Как специфицировано в [XMLNAMES], префикс пространства имён служит в качестве прокси для ссылки URI и не является сам по себе значащим. --> <!ENTITY % XHTML.prefix "" >

<!-- 4. Объявляет объекты параметра (например, %XHTML.pfx;), содержащие подчинённый префикс(ы)(например, '%XHTML.prefix;:'), используемые тогда, когда "префиксирование" активно, и пустую строку - если не активно. --> <![%XHTML.prefixed;[ <!ENTITY % XHTML.pfx "%XHTML.prefix;:" > ]]> <!ENTITY % XHTML.pfx "" >

<!-- здесь объявляются расширения квалифицированных имён ............ --> <!ENTITY % xhtml-qname-extra.mod "" > %xhtml-qname-extra.mod;

<!-- 5. Объект парамтера %XHTML.xmlns.extra.attrib; может быть переобъявлен, чтобы содержать любые объявления атрибутов не-XHTML пространства имён для пространств имён, внедрённых в XHTML. По умолчанию - пустая строка. XLink должен быть здесь включён, если используется в ОТД. --> <!ENTITY % XHTML.xmlns.extra.attrib "" >

<!-- Остальная часть Section A есть только в XHTML, не в расширениях. -->

<!-- Объявляет объект параметра %NS.decl.attrib;, содержащий все объявления пространства имён XML, используемые в ОТД, объявления xmlns для XHTML, его форма зависит от того, активно ли префиксирование. --> <![%XHTML.prefixed;[ <!ENTITY % NS.decl.attrib "xmlns:%XHTML.prefix; #FIXED '%XHTML.xmlns;' %XHTML.xmlns.extra.attrib;" > ]]> <!ENTITY % NS.decl.attrib "%XHTML.xmlns.extra.attrib;" >



<!-- Это заглушка для будущей поддержки XLink. --> <!ENTITY % XLINK.xmlns.attrib "" >

<!-- Объявляет объект параметра %NS.decl.attrib;, содержащий все атрибуты объявления пространства имён XML, используемые XHTML, включая атрибут xmlns по умолчанию, если префиксирование неактивно. --> <![%XHTML.prefixed;[ <!ENTITY % XHTML.xmlns.attrib "%NS.decl.attrib; %XLINK.xmlns.attrib;" > ]]> <!ENTITY % XHTML.xmlns.attrib "xmlns #FIXED '%XHTML.xmlns;' %XLINK.xmlns.attrib;" >

<!-- заглушка для переобъявлений квалифицированных имён --> <!ENTITY % xhtml-qname.redecl "" > %xhtml-qname.redecl;

<!-- Section B: XHTML Qualified Names/Квалифицированные Имена ::::::::::::::::::::: -->

<!-- 6. Этот раздел объявляет объекты параметра, используемые для предоставления квалифицированных имён пространства имён для элементов XHTML всех типов. -->

<!-- модуль xhtml-applet-1.mod --> <!ENTITY % applet.qname "%XHTML.pfx;applet" >

<!-- модуль xhtml-base-1.mod --> <!ENTITY % base.qname "%XHTML.pfx;base" >

<!-- модуль xhtml-bdo-1.mod --> <!ENTITY % bdo.qname "%XHTML.pfx;bdo" >

<!-- модуль xhtml-blkphras-1.mod --> <!ENTITY % address.qname "%XHTML.pfx;address" > <!ENTITY % blockquote.qname "%XHTML.pfx;blockquote" > <!ENTITY % pre.qname "%XHTML.pfx;pre" > <!ENTITY % h1.qname "%XHTML.pfx;h1" > <!ENTITY % h2.qname "%XHTML.pfx;h2" > <!ENTITY % h3.qname "%XHTML.pfx;h3" > <!ENTITY % h4.qname "%XHTML.pfx;h4" > <!ENTITY % h5.qname "%XHTML.pfx;h5" > <!ENTITY % h6.qname "%XHTML.pfx;h6" >

<!-- модуль xhtml-blkpres-1.mod --> <!ENTITY % hr.qname "%XHTML.pfx;hr" >

<!-- модуль xhtml-blkstruct-1.mod --> <!ENTITY % div.qname "%XHTML.pfx;div" > <!ENTITY % p.qname "%XHTML.pfx;p" >



<!-- модуль xhtml-edit-1.mod --> <!ENTITY % ins.qname "%XHTML.pfx;ins" > <!ENTITY % del.qname "%XHTML.pfx;del" >

<!-- модуль xhtml-form-1.mod --> <!ENTITY % form.qname "%XHTML.pfx;form" > <!ENTITY % label.qname "%XHTML.pfx;label" > <!ENTITY % input.qname "%XHTML.pfx;input" > <!ENTITY % select.qname "%XHTML.pfx;select" > <!ENTITY % optgroup.qname "%XHTML.pfx;optgroup" > <!ENTITY % option.qname "%XHTML.pfx;option" > <!ENTITY % textarea.qname "%XHTML.pfx;textarea" > <!ENTITY % fieldset.qname "%XHTML.pfx;fieldset" > <!ENTITY % legend.qname "%XHTML.pfx;legend" > <!ENTITY % button.qname "%XHTML.pfx;button" >

<!-- модуль xhtml-hypertext-1.mod --> <!ENTITY % a.qname "%XHTML.pfx;a" >

<!-- модуль xhtml-image-1.mod --> <!ENTITY % img.qname "%XHTML.pfx;img" >

<!-- модуль xhtml-inlphras-1.mod --> <!ENTITY % abbr.qname "%XHTML.pfx;abbr" > <!ENTITY % acronym.qname "%XHTML.pfx;acronym" > <!ENTITY % cite.qname "%XHTML.pfx;cite" > <!ENTITY % code.qname "%XHTML.pfx;code" > <!ENTITY % dfn.qname "%XHTML.pfx;dfn" > <!ENTITY % em.qname "%XHTML.pfx;em" > <!ENTITY % kbd.qname "%XHTML.pfx;kbd" > <!ENTITY % q.qname "%XHTML.pfx;q" > <!ENTITY % samp.qname "%XHTML.pfx;samp" > <!ENTITY % strong.qname "%XHTML.pfx;strong" > <!ENTITY % var.qname "%XHTML.pfx;var" >

<!-- модуль xhtml-inlpres-1.mod --> <!ENTITY % b.qname "%XHTML.pfx;b" > <!ENTITY % big.qname "%XHTML.pfx;big" > <!ENTITY % i.qname "%XHTML.pfx;i" > <!ENTITY % small.qname "%XHTML.pfx;small" > <!ENTITY % sub.qname "%XHTML.pfx;sub" > <!ENTITY % sup.qname "%XHTML.pfx;sup" > <!ENTITY % tt.qname "%XHTML.pfx;tt" >



<!-- модуль xhtml-inlstruct-1.mod --> <!ENTITY % br.qname "%XHTML.pfx;br" > <!ENTITY % span.qname "%XHTML.pfx;span" >

<!-- модуль xhtml-ismap-1.mod ( также csismap, ssismap) --> <!ENTITY % map.qname "%XHTML.pfx;map" > <!ENTITY % area.qname "%XHTML.pfx;area" >

<!-- модуль xhtml-link-1.mod --> <!ENTITY % link.qname "%XHTML.pfx;link" >

<!-- модуль xhtml-list-1.mod --> <!ENTITY % dl.qname "%XHTML.pfx;dl" > <!ENTITY % dt.qname "%XHTML.pfx;dt" > <!ENTITY % dd.qname "%XHTML.pfx;dd" > <!ENTITY % ol.qname "%XHTML.pfx;ol" > <!ENTITY % ul.qname "%XHTML.pfx;ul" > <!ENTITY % li.qname "%XHTML.pfx;li" >

<!-- модуль xhtml-meta-1.mod --> <!ENTITY % meta.qname "%XHTML.pfx;meta" >

<!-- модуль xhtml-param-1.mod --> <!ENTITY % param.qname "%XHTML.pfx;param" >

<!-- модуль xhtml-object-1.mod --> <!ENTITY % object.qname "%XHTML.pfx;object" >

<!-- модуль xhtml-script-1.mod --> <!ENTITY % script.qname "%XHTML.pfx;script" > <!ENTITY % noscript.qname "%XHTML.pfx;noscript" >

<!-- модуль xhtml-struct-1.mod --> <!ENTITY % html.qname "%XHTML.pfx;html" > <!ENTITY % head.qname "%XHTML.pfx;head" > <!ENTITY % title.qname "%XHTML.pfx;title" > <!ENTITY % body.qname "%XHTML.pfx;body" >

<!-- модуль xhtml-style-1.mod --> <!ENTITY % style.qname "%XHTML.pfx;style" >

<!-- модуль xhtml-table-1.mod --> <!ENTITY % table.qname "%XHTML.pfx;table" > <!ENTITY % caption.qname "%XHTML.pfx;caption" > <!ENTITY % thead.qname "%XHTML.pfx;thead" > <!ENTITY % tfoot.qname "%XHTML.pfx;tfoot" > <!ENTITY % tbody.qname "%XHTML.pfx;tbody" > <!ENTITY % colgroup.qname "%XHTML.pfx;colgroup" > <!ENTITY % col.qname "%XHTML.pfx;col" > <!ENTITY % tr.qname "%XHTML.pfx;tr" > <!ENTITY % th.qname "%XHTML.pfx;th" > <!ENTITY % td.qname "%XHTML.pfx;td" >

<!-- модуль xhtml-ruby-1.mod -->

<!ENTITY % ruby.qname "%XHTML.pfx;ruby" > <!ENTITY % rbc.qname "%XHTML.pfx;rbc" > <!ENTITY % rtc.qname "%XHTML.pfx;rtc" > <!ENTITY % rb.qname "%XHTML.pfx;rb" > <!ENTITY % rt.qname "%XHTML.pfx;rt" > <!ENTITY % rp.qname "%XHTML.pfx;rp" >

<!-- Квалифицированные Имена Provisional/Временного XHTML 2.0 ................... -->

<!-- модуль xhtml-image-2.mod --> <!ENTITY % alt.qname "%XHTML.pfx;alt" >

<!-- конец xhtml-qname-1.mod -->


Легализация


Использование правильно сформированных, но не легализованных документов, является важным преимуществом XML. В процессе разработки типа документа, однако, важно дополнительное преимущество, предоставляемое легализующим разборщиком при проверке ошибок. Один и тот же оператор применяется к типам документов XHTML с элементами из разных абстрактных модулей.

Документ является объектом особого типа документа, определённого в ОТД, идентифицированном в прологе документа. Легализация документа это процесс проверки того, выполняет ли документ правила определения типа документа.

Один документ может состоять из нескольких фрагментов. Легализация только этих фрагментов, где каждый фрагмент имеет отличный от других тип документа, находится вне специфики данной работы - поскольку это потребует технологий, ещё не разработанных.

Тем не менее, Каркас Модуляризации даёт возможность интегрировать несколько определений типов документов и формировать новый тип документа (напр., SVG, интегрированный в XHTML). Определение нового типа документов может использоваться для нормальной легализации XML 1.0.



Легализация


<!-- ...................................................................... --> <!-- Модуль XHTML Legacy Markup ........................................... --> <!-- файл xhtml-legacy-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-legacy-1.mod,v 4.1 2001/04/10 09:42:30 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-legacy-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Разметка HTML Legacy/Легализация

font, basefont, center, s, strike, u, dir, menu, isindex

(плюс дополнительные типы данных и атрибуты)

Этот необязательный модуль объявляет дополнительную разметку для простой презентационной разметки на базе возможностей ОТД HTML 4 Transitional и Frameset. Это относится к включению модуля Legacy Redeclarations. Этот модуль объявляет также модули frames, inline frames и object.

Это сделано для того, чтобы дать возможность документам XHTML 1.1 трансформироваться для отображения в тех браузерах HTML, где поддержка CSS некорректна или невозможна. --> <!-- Конструирование ОТД Legacy

Чтобы сконструировать драйвер ОТД и получить максимальное приближение к ОТД Transitional и Frameset HTML 4, объявите модуль Legacy Redeclarations как "предкаркасное" переобъявление объекта параметра (%xhtml-prefw-redecl.mod;) и ВКЛЮЧИТЕ/INCLUDE его раздел условий:

... <!ENTITY % xhtml-prefw-redecl.module "INCLUDE" > <![%xhtml-prefw-redecl.module;[ <!ENTITY % xhtml-prefw-redecl.mod PUBLIC "-//W3C//ELEMENTS XHTML Legacy Redeclarations 1.0//EN" "xhtml-legacy-redecl-1.mod" > %xhtml-prefw-redecl.mod;]]>

Такое ОТД должно именоваться вариантом FPI и переобъявить значения объекта параметра %XHTML.version; на этот FPI:


"-//Your Name Here//DTD XHTML Legacy 1.1//EN"

ВАЖНО: см. также в примечаниях, включённых в модуль Legacy Redeclarations, информацию о том, как конструировать ОТД с использованием этого модуля. -->

<!-- Дополнительные Типы Элементов .................................... -->

<!-- font: Модификатор Локального Шрифта ........................ -->

<!ENTITY % font.element "INCLUDE" > <![%font.element;[ <!ENTITY % font.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % font.qname "font" > <!ELEMENT %font.qname; %font.content; > <!-- end of font.element -->]]>

<!ENTITY % font.attlist "INCLUDE" > <![%font.attlist;[ <!ATTLIST %; %Core.attrib; %I18n.attrib; size CDATA #IMPLIED color #IMPLIED face CDATA #IMPLIED > <!-- end of font.attlist -->]]>

<!-- basefont: Размер Базового Шрифта ......................... -->

<!ENTITY % basefont.element "INCLUDE" > <![%basefont.element;[ <!ENTITY % basefont.content "EMPTY" > <!ENTITY % basefont.qname "basefont" > <!ELEMENT %basefont.qname; %basefont.content; > <!-- end of basefont.element -->]]>

<!ENTITY % basefont.attlist "INCLUDE" > <![%basefont.attlist;[ <!ATTLIST %; %id.attrib; size CDATA #REQUIRED color #IMPLIED face CDATA #IMPLIED > <!-- end of basefont.attlist -->]]>

<!-- center: Выравнивание по центру ......................... -->

<!ENTITY % center.element "INCLUDE" > <![%center.element;[ <!ENTITY % center.content "( #PCDATA | %Flow.mix; )*" > <!ENTITY % center.qname "center" > <!ELEMENT %center.qname; %center.content; > <!-- end of center.element -->]]>

<!ENTITY % center.attlist "INCLUDE" > <![%center.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of center.attlist -->]]>

<!-- s: Перечёркнутый Текст ........................ -->



<!ENTITY % s.element "INCLUDE" > <![%s.element;[ <!ENTITY % s.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % s.qname "s" > <!ELEMENT %s.qname; %s.content; > <!-- end of s.element -->]]>

<!ENTITY % s.attlist "INCLUDE" > <![%s.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of s.attlist -->]]>

<!-- strike: Перечёркнутый Текст ....................-->

<!ENTITY % strike.element "INCLUDE" > <![%strike.element;[ <!ENTITY % strike.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % strike.qname "strike" > <!ELEMENT %strike.qname; %strike.content; > <!-- end of strike.element -->]]>

<!ENTITY % strike.attlist "INCLUDE" > <![%strike.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of strike.attlist -->]]>

<!-- u: Underline Text Style ...........................-->

<!ENTITY % u.element "INCLUDE" > <![%u.element;[ <!ENTITY % u.content "( #PCDATA | %Inline.mix; )*" > <!ENTITY % u.qname "u" > <!ELEMENT %u.qname; %u.content; > <!-- end of u.element -->]]>

<!ENTITY % u.attlist "INCLUDE" > <![%u.attlist;[ <!ATTLIST %; %Common.attrib; > <!-- end of u.attlist -->]]>

<!-- dir: Directory List/Список .............................. -->

<!-- ПРИМЕЧАНИЕ: модель содержимого для <dir> в HTML 4 исключила %Block.mix; --> <!ENTITY % dir.element "INCLUDE" > <![%dir.element;[ <!ENTITY % dir.content "( %li.qname; )+" > <!ENTITY % dir.qname "dir" > <!ELEMENT %dir.qname; %dir.content; > <!-- end of dir.element -->]]>

<!ENTITY % dir.attlist "INCLUDE" > <![%dir.attlist;[ <!ATTLIST %; %Common.attrib; compact ( compact ) #IMPLIED > <!-- end of dir.attlist -->]]>



<!-- menu: Menu List/Список Меню .................................. -->

<!-- ПРИМЕЧАНИЕ: модель содержимого для <menu> в HTML 4 исключила %Block.mix; --> <!ENTITY % menu.element "INCLUDE" > <![%menu.element;[ <!ENTITY % menu.content "( %li.qname; )+" > <!ENTITY % menu.qname "menu" > <!ELEMENT %menu.qname; %menu.content; > <!-- end of menu.element -->]]>

<!ENTITY % menu.attlist "INCLUDE" > <![%menu.attlist;[ <!ATTLIST %; %Common.attrib; compact ( compact ) #IMPLIED > <!-- end of menu.attlist -->]]>

<!-- isindex: Однострочный Промпт ...................... -->

<!ENTITY % isindex.element "INCLUDE" > <![%isindex.element;[ <!ENTITY % isindex.content "EMPTY" > <!ENTITY % isindex.qname "isindex" > <!ELEMENT %isindex.qname; %isindex.content; > <!-- end of isindex.element -->]]>

<!ENTITY % isindex.attlist "INCLUDE" > <![%isindex.attlist;[ <!ATTLIST %; %Core.attrib; %I18n.attrib; prompt #IMPLIED > <!-- end of isindex.attlist -->]]>

<!-- Дополнительные Атрибуты ....................................... -->

<!-- Атрибут выравнивания для Transitional использования в браузерах HTML (эта функциональность обычно хорошо поддерживается в CSS, за исключением некоторых контекстов) --> <!ENTITY % align.attrib "align ( left | center | right | justify ) #IMPLIED" >

<!ATTLIST %; align ( top | middle | bottom | left | right ) #IMPLIED hspace #IMPLIED vspace #IMPLIED >

<!ATTLIST %; background #IMPLIED bgcolor #IMPLIED text #IMPLIED link #IMPLIED vlink #IMPLIED alink #IMPLIED >

<!ATTLIST %; clear ( left | all | right | none ) 'none' >

<!ATTLIST %; align ( top | bottom | left | right ) #IMPLIED >

<!ATTLIST %; %align.attrib; >

<!ATTLIST %; %align.attrib; >

<!ATTLIST %; %align.attrib; >

<!ATTLIST %; %align.attrib; >



<!ATTLIST %; %align.attrib; >

<!ATTLIST %; %align.attrib; >

<!ATTLIST %; %align.attrib; >

<!ATTLIST %; align ( left | center | right ) #IMPLIED ( ) #IMPLIED size #IMPLIED width #IMPLIED >

<!ATTLIST %; align ( top | middle | bottom | left | right ) #IMPLIED border #IMPLIED hspace #IMPLIED vspace #IMPLIED >

<!ATTLIST %; align ( top | middle | bottom | left | right ) #IMPLIED >

<!ATTLIST %; align ( top | bottom | left | right ) #IMPLIED >

<!ATTLIST %; type CDATA #IMPLIED value #IMPLIED >

<!ATTLIST %; align ( top | middle | bottom | left | right ) #IMPLIED border #IMPLIED hspace #IMPLIED vspace #IMPLIED >

<!ATTLIST %; compact ( compact ) #IMPLIED >

<!ATTLIST %; type CDATA #IMPLIED compact ( compact ) #IMPLIED start #IMPLIED >

<!ATTLIST %; %align.attrib; >

<!ATTLIST %; width #IMPLIED >

<!ATTLIST %; language #IMPLIED >

<!ATTLIST %; align ( left | center | right )#IMPLIED bgcolor #IMPLIED >

<!ATTLIST %; bgcolor #IMPLIED >

<!ATTLIST %; nowrap ( nowrap ) #IMPLIED bgcolor #IMPLIED width #IMPLIED height #IMPLIED >

<!ATTLIST %; nowrap ( nowrap ) #IMPLIED bgcolor #IMPLIED width #IMPLIED height #IMPLIED >

<!ATTLIST %; type CDATA #IMPLIED compact ( compact ) #IMPLIED >

<!-- Модуль Frames ............................................... --> <!ENTITY % xhtml-frames.module "IGNORE" > <![%xhtml-frames.module;[ <!ENTITY % xhtml-frames.mod PUBLIC "-//W3C//ELEMENTS XHTML Frames 1.0//EN" "xhtml-frames-1.mod" > %xhtml-frames.mod;]]>

<!-- Модуль Inline ........................................ --> <!ENTITY % xhtml-iframe.module "INCLUDE" > <![%xhtml-iframe.module;[ <!ATTLIST %; align ( top | middle | bottom | left | right ) #IMPLIED > <!ENTITY % xhtml-iframe.mod PUBLIC "-//W3C// ELEMENTS XHTML Inline Frame Element 1.0//EN" "xhtml-iframe-1.mod" > %xhtml-iframe.mod;]]>

<!-- конец xhtml-legacy-1.mod -->


Link/Ссылка


<!-- ...................................................................... --> <!-- Модуль XHTML Link Element ........................................... --> <!-- файл xhtml-link-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-link-1.mod,v 4.1 2001/04/05 06:57:40 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-link-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Элемент Link/Ссылка

link

Этот модуль объявляет тип элемента link и его атрибуты, который может (в принципе) быть использован для определения ссылок уровня документа на такие внешние ресурсы, как:

a) специфические для документа toolbars/menus, например: start, contents, previous, next, index, end, help b) ссылка на внешнюю таблицу стилей (rel="stylesheet") c) ссылка на скрипт (rel="script") d) управление таблицей стилей тем, как коллекции узлов html отображаются при печати документов e) ссылка на печатную версию текущего документа, например, postscript или pdf версию (rel="alternate" media="print") -->

<!-- link: Медиа-независимая Ссылка ...................... -->

<!ENTITY % link.element "INCLUDE" > <![%link.element;[ <!ENTITY % link.content "EMPTY" > <!ENTITY % link.qname "link" > <!ELEMENT %link.qname; %link.content; > <!-- end of link.element -->]]>

<!ENTITY % link.attlist "INCLUDE" > <![%link.attlist;[ <!ATTLIST %; %Common.attrib; charset #IMPLIED href #IMPLIED hreflang #IMPLIED type #IMPLIED rel #IMPLIED rev #IMPLIED media #IMPLIED > <!-- end of link.attlist -->]]>

<!-- конец xhtml-link-1.mod -->



Лёгкость использования


Каркас модуляризации может только тогда широко применяться, когда он описывает механизмы, облегчающие использование каркаса целевой аудиторией:

[R3.1] Каркас модуля должен облегчать дизайнерам типа документа подразделение и расширение абстрактных модулей XHTML.

[R3.2] Каркас модуля должен облегчать дизайнерами типа документа создание абстрактных модулей для других типов документов XML.

[R3.3] Каркас модуля должен облегчать авторам документов проверку элементов из различных абстрактных модулей.



Метаинформация


<!-- ...................................................................... --> <!-- Модуль XHTML Document Metainformation ............................... --> <!-- файл xhtml-meta-1.mod

Это XHTML, переформулирование HTML как модульного приложения XML. Авторские Права 1998-2001 W3C (MIT, INRIA, Keio), Все Права Зарезервированы. Ревизия: $Id: xhtml-meta-1.mod,v 4.0 2001/04/02 22:42:49 altheim Exp $ SMI

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-meta-1.mod"

Ревизии: (нет) ....................................................................... -->

<!-- Метаинформация

meta

Этот модуль объявляет тип элемента meta и его атрибуты, используемые для декларативной метаинформации. -->

<!-- meta: Generic Metainformation/Общая Метаинформация ..................... -->

<!ENTITY % meta.element "INCLUDE" > <![%meta.element;[ <!ENTITY % meta.content "EMPTY" > <!ENTITY % meta.qname "meta" > <!ELEMENT %meta.qname; %meta.content; > <!-- end of meta.element -->]]>

<!ENTITY % meta.attlist "INCLUDE" > <![%meta.attlist;[ <!ATTLIST %; %XHTML.xmlns.attrib; %I18n.attrib; http-equiv NMTOKEN #IMPLIED name NMTOKEN #IMPLIED content CDATA #REQUIRED scheme CDATA #IMPLIED > <!-- end of meta.attlist -->]]>

<!-- конец xhtml-meta-1.mod -->



Мнемоники символов XHTML


ОТД XHTML дают доступ к стандартной коллекции именованных символьных мнемоник. Эти мнемоники определены в данном разделе.


<!-- заглушка для вспомогательного модуля XLink --> <!ENTITY % xhtml-xlink.mod "" > %xhtml-xlink.mod;

<!ENTITY % xhtml-qname.module "INCLUDE" > <![%xhtml-qname.module;[ <!ENTITY % xhtml-qname.mod PUBLIC "-//W3C//ENTITIES XHTML Qualified Names 1.0//EN" "xhtml-qname-1.mod" > %xhtml-qname.mod;]]>

<!ENTITY % xhtml-events.module "IGNORE" > <![%xhtml-events.module;[ <!ENTITY % xhtml-events.mod PUBLIC "-//W3C//ENTITIES XHTML Intrinsic Events 1.0//EN" "xhtml-events-1.mod" > %xhtml-events.mod;]]>

<!ENTITY % xhtml-attribs.module "INCLUDE" > <![%xhtml-attribs.module;[ <!ENTITY % xhtml-attribs.mod PUBLIC "-//W3C//ENTITIES XHTML Common Attributes 1.0//EN" "xhtml-attribs-1.mod" > %xhtml-attribs.mod;]]>

<!-- заглушка для переобъявлений модели содержимого --> <!ENTITY % xhtml-model.redecl "" > %xhtml-model.redecl;

<!ENTITY % xhtml-model.module "INCLUDE" > <![%xhtml-model.module;[ <!-- устанавливает модель Document Model, объявленный в драйвере ОТД --> %xhtml-model.mod;]]>

<!ENTITY % xhtml-charent.module "INCLUDE" > <![%xhtml-charent.module;[ <!ENTITY % xhtml-charent.mod PUBLIC "-//W3C//ENTITIES XHTML Character Entities 1.0//EN" "xhtml-charent-1.mod" > %xhtml-charent.mod;]]>

<!-- конец xhtml-framework-1.mod -->

Заметьте, что вышеприведённый модуль относится к модулю модели содержимого. Этот модуль определён на базе типа per-document/документного в дополнение к файлу драйвера типа документа. Модульный каркас базируется также на следующих модулях компонентов:


Набор мнемоник, совместимых с XML


<!-- ...................................................................... --> <!-- Набор мнемоник, совместимых с XML ISO Latin 1 Character Entity Set для XHTML --> <!-- Файл xhtml-lat1.ent

Типичный вызов:

<!ENTITY % xhtml-lat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "xhtml-lat1.ent" > %xhtml-lat1;

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-lat1.ent"

Ревизия: $Id: xhtml-lat1.ent,v 4.1 2001/04/10 09:34:14 altheim Exp $ SMI

Portions (C) International Organization for Standardization 1986: Разрешение на копирование в любой форме даётся для использования с соответствующими системами SGML и приложениями, как определено в ISO 8879, с учётом того, что это объявление будет включено во все копии. -->

<!ENTITY nbsp "&#160;" ><!-- неразрывный пробел, U+00A0 ISOnum --> <!ENTITY iexcl "&#161;" ><!-- перевёрнутый восклицательный знак, U+00A1 ISOnum --> <!ENTITY cent "&#162;" ><!-- цент, U+00A2 ISOnum --> <!ENTITY pound "&#163;" ><!-- фунт, U+00A3 ISOnum --> <!ENTITY curren "&#164;" ><!-- валюта, U+00A4 ISOnum --> <!ENTITY yen "&#165;" ><!-- йена, U+00A5 ISOnum --> <!ENTITY brvbar "&#166;" ><!-- разорванная вертикальная линия, U+00A6 ISOnum --> <!ENTITY sect "&#167;" ><!-- раздел, U+00A7 ISOnum --> <!ENTITY uml "&#168;" ><!-- умлаут, U+00A8 ISOdia --> <!ENTITY copy "&#169;" ><!-- авторские права, U+00A9 ISOnum --> <!ENTITY ordf "&#170;" ><!-- женский индикатор, U+00AA ISOnum --> <!ENTITY laquo "&#171;" ><!-- левая угловая двойная кавычка, U+00AB ISOnum --> <!ENTITY not "&#172;" ><!-- не, U+00AC ISOnum --> <!ENTITY shy "&#173;" ><!-- мягкий дефис, U+00AD ISOnum --> <!ENTITY reg "&#174;" ><!-- зарегистрировано, U+00AE ISOnum --> <!ENTITY macr "&#175;" ><!-- macron, U+00AF ISOdia --> <!ENTITY deg "&#176;" ><!-- степень, U+00B0 ISOnum --> <!ENTITY plusmn "&#177;" ><!-- плюс-минус, U+00B1 ISOnum --> <!ENTITY sup2 "&#178;" ><!-- надиндекс 2, U+00B2 ISOnum --> <!ENTITY sup3 "&#179;" ><!-- надиндекс 3, U+00B3 ISOnum --> <!ENTITY acute "&#180;" ><!-- акцент вправо, U+00B4 ISOdia --> <!ENTITY micro "&#181;" ><!-- micro, U+00B5 ISOnum --> <!ENTITY para "&#182;" ><!-- pilcrow, U+00B6 ISOnum --> <!ENTITY middot "&#183;" ><!-- средняя точка, U+00B7 ISOnum --> <!ENTITY cedil "&#184;" ><!-- седилья, U+00B8 ISOdia --> <!ENTITY sup1 "&#185;" ><!-- надиндекс 1, U+00B9 ISOnum --> <!ENTITY ordm "&#186;" ><!-- мужской индикатор, U+00BA ISOnum --> <!ENTITY raquo "&#187;" ><!-- правая угловая двойная кавычка, U+00BB ISOnum --> <!ENTITY frac14 "&#188;" ><!-- простая дробь четверть, U+00BC ISOnum --> <!ENTITY frac12 "&#189;" ><!-- простая дробь половина, U+00BD ISOnum --> <!ENTITY frac34 "&#190;" ><!-- простая дробь три четверти, U+00BE ISOnum --> <!ENTITY iquest "&#191;" ><!-- перевёрнутый знак вопроса, U+00BF ISOnum --> <!ENTITY Agrave "&#192;" ><!-- латинская заглавная A с акц. влево, U+00C0 ISOlat1 --> <!ENTITY Aacute "&#193;" ><!-- латинская заглавная A с акц. вправо, U+00C1 ISOlat1 --> <!ENTITY Acirc "&#194;" ><!-- латинская заглавная A с птичкой, U+00C2 ISOlat1 --> <!ENTITY Atilde "&#195;" ><!-- латинская заглавная A с тильдой, U+00C3 ISOlat1 --> <!ENTITY Auml "&#196;" ><!-- латинская заглавная A с двоеточием, U+00C4 ISOlat1 --> <!ENTITY Aring "&#197;" ><!-- латинская заглавная A с кружком, U+00C5 ISOlat1 --> <!ENTITY AElig "&#198;" ><!-- латинская заглавная AE, U+00C6 ISOlat1 --> <!ENTITY Ccedil "&#199;" ><!-- латинская заглавная C седилья, U+00C7 ISOlat1 --> <!ENTITY Egrave "&#200;" ><!-- латинская заглавная E с акц. влево, U+00C8 ISOlat1 --> <!ENTITY Eacute "&#201;" ><!-- латинская заглавная E с акц. вправо, U+00C9 ISOlat1 --> <!ENTITY Ecirc "&#202;" ><!-- латинская заглавная E с птичкой, U+00CA ISOlat1 --> <!ENTITY Euml "&#203;" ><!-- латинская заглавная E с двоеточием, U+00CB ISOlat1 --> <!ENTITY Igrave "&#204;" ><!-- латинская заглавная I с акц. влево, U+00CC ISOlat1 --> <!ENTITY Iacute "&#205;" ><!-- латинская заглавная I с акц. вправо, U+00CD ISOlat1 --> <!ENTITY Icirc "&#206;" ><!-- латинская заглавная I с птичкой, U+00CE ISOlat1 --> <!ENTITY Iuml "&#207;" ><!-- латинская заглавная I с двоеточием, U+00CF ISOlat1 --> <!ENTITY ETH "&#208;" ><!-- латинская заглавная ETH, U+00D0 ISOlat1 --> <!ENTITY Ntilde "&#209;" ><!-- латинская заглавная N с тильдой, U+00D1 ISOlat1 --> <!ENTITY Ograve "&#210;" ><!-- латинская заглавная O с акц. влево, U+00D2 ISOlat1 --> <!ENTITY Oacute "&#211;" ><!-- латинская заглавная O с акц. вправо, U+00D3 ISOlat1 --> <!ENTITY Ocirc "&#212;" ><!-- латинская заглавная O с птичкой, U+00D4 ISOlat1 --> <!ENTITY Otilde "&#213;" ><!-- латинская заглавная O с тильдой, U+00D5 ISOlat1 --> <!ENTITY Ouml "&#214;" ><!-- латинская заглавная O с двоеточием, U+00D6 ISOlat1 --> <!ENTITY times "&#215;" ><!-- умножение, U+00D7 ISOnum --> <!ENTITY Oslash "&#216;" ><!-- латинская заглавная O перечёркнутая, U+00D8 ISOlat1 --> <!ENTITY Ugrave "&#217;" ><!-- латинская заглавная U с акц. влево, U+00D9 ISOlat1 --> <!ENTITY Uacute "&#218;" ><!-- латинская заглавная U с акц. вправо, U+00DA ISOlat1 --> <!ENTITY Ucirc "&#219;" ><!-- латинская заглавная U с птичкой, U+00DB ISOlat1 --> <!ENTITY Uuml "&#220;" ><!-- латинская заглавная U с двоеточием, U+00DC ISOlat1 --> <!ENTITY Yacute "&#221;" ><!-- латинская заглавная Y с акц. влево, U+00DD ISOlat1 --> <!ENTITY THORN "&#222;" ><!-- латинская заглавная THORN, U+00DE ISOlat1 --> <!ENTITY szlig "&#223;" ><!-- латинская эсцэт, U+00DF ISOlat1 --> <!ENTITY agrave "&#224;" ><!-- латинская a с акцентом влево, U+00E0 ISOlat1 --> <!ENTITY aacute "&#225;" ><!-- латинская a с акцентом вправо, U+00E1 ISOlat1 --> <!ENTITY acirc "&#226;" ><!-- латинская a с птичкой, U+00E2 ISOlat1 --> <!ENTITY atilde "&#227;" ><!-- латинская a с тильдой, U+00E3 ISOlat1 --> <!ENTITY auml "&#228;" ><!-- латинская a с двоеточием, U+00E4 ISOlat1 --> <!ENTITY aring "&#229;" ><!-- латинская a с кружком, U+00E5 ISOlat1 --> <!ENTITY aelig "&#230;" ><!-- латинская ae, U+00E6 ISOlat1 --> <!ENTITY ccedil "&#231;" ><!-- латинская c седилья, U+00E7 ISOlat1 --> <!ENTITY egrave "&#232;" ><!-- латинская e с акцентом влево, U+00E8 ISOlat1 --> <!ENTITY eacute "&#233;" ><!-- латинская e с акцентом вправо, U+00E9 ISOlat1 --> <!ENTITY ecirc "&#234;" ><!-- латинская e с птичкой, U+00EA ISOlat1 --> <!ENTITY euml "&#235;" ><!-- латинская e с двоеточием, U+00EB ISOlat1 --> <!ENTITY igrave "&#236;" ><!-- латинская i с акцентом влево, U+00EC ISOlat1 --> <!ENTITY iacute "&#237;" ><!-- латинская i с акцентом вправо, U+00ED ISOlat1 --> <!ENTITY icirc "&#238;" ><!-- латинская i с птичкой, U+00EE ISOlat1 --> <!ENTITY iuml "&#239;" ><!-- латинская i с двоеточием, U+00EF ISOlat1 --> <!ENTITY eth "&#240;" ><!-- латинская eth, U+00F0 ISOlat1 --> <!ENTITY ntilde "&#241;" ><!-- латинская n с тильдой, U+00F1 ISOlat1 --> <!ENTITY ograve "&#242;" ><!-- латинская o с акцентом влево, U+00F2 ISOlat1 --> <!ENTITY oacute "&#243;" ><!-- латинская o с акцентом вправо, U+00F3 ISOlat1 --> <!ENTITY ocirc "&#244;" ><!-- латинская o с птичкой, U+00F4 ISOlat1 --> <!ENTITY otilde "&#245;" ><!-- латинская o с тильдой, U+00F5 ISOlat1 --> <!ENTITY ouml "&#246;" ><!-- латинская o с двоеточием, U+00F6 ISOlat1 --> <!ENTITY divide "&#247;" ><!-- деление, U+00F7 ISOnum --> <!ENTITY oslash "&#248;" ><!-- латинская o перечёркнутая, U+00F8 ISOlat1 --> <!ENTITY ugrave "&#249;" ><!-- латинская u с акцентом влево, U+00F9 ISOlat1 --> <!ENTITY uacute "&#250;" ><!-- латинская u с акцентом вправо, U+00FA ISOlat1 --> <!ENTITY ucirc "&#251;" ><!-- латинская u с птичкой, U+00FB ISOlat1 --> <!ENTITY uuml "&#252;" ><!-- латинская u с двоеточием, U+00FC ISOlat1 --> <!ENTITY yacute "&#253;" ><!-- латинская y с акцентом вправо, U+00FD ISOlat1 --> <!ENTITY thorn "&#254;" ><!-- латинская thorn, U+00FE ISOlat1 --> <!ENTITY yuml "&#255;" ><!-- латинская y с двоеточием, U+00FF ISOlat1 --> <!-- end of xhtml-lat1.ent -->


Мнемоники XHTML: математические, греческие и символические


<!-- ...................................................................... --> <!-- ISO Math, Greek and Symbolic Character Entity Set for XHTML .......... --> <!-- Файл xhtml-symbol.ent

Типичный вызов:

<!ENTITY % xhtml-symbol PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" "xhtml-symbol.ent" > %xhtml-symbol;

Этот модуль ОТД идентифицируется идентификаторами PUBLIC и SYSTEM:

PUBLIC "-//W3C//ENTITIES Symbols for XHTML//EN" SYSTEM "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-symbol.ent"

Ревизия: $Id: xhtml-symbol.ent,v 4.1 2001/04/10 09:34:14 altheim Exp $ SMI

Portions (C) International Organization for Standardization 1986: Разрешение на копирование в любой форме даётся для использования с соответствующими системами SGML и приложениями, как определено в ISO 8879, с учётом того, что это объявление будет включено во все копии. -->

<!-- Даётся соответствующий набор мнемоник ISO, если это не вновь введённые имена. Новые имена (т.е. не из списка ISO 8879 [SGML]) не конфликтуют с любыми существующими мнемониками ISO 8879. Цифровые мнемоники ISO 10646 [ISO10646] даются для каждого символа в 16-ричном представлении. Значения мнемоник являются 10-ричными конверсиями значений ISO 10646 и относятся к набору символов документа. Имена являются именами Unicode [UNICODE]. -->

<!-- Latin Extended-B --> <!ENTITY fnof "&#402;" ><!-- латинская f с крючком = функция, U+0192 ISOtech -->

<!-- Греческие --> <!ENTITY Alpha "&#913;" ><!-- греческая заглавная alpha, U+0391 --> <!ENTITY Beta "&#914;" ><!-- греческая заглавная beta, U+0392 --> <!ENTITY Gamma "&#915;" ><!-- греческая заглавная gamma, U+0393 ISOgrk3 --> <!ENTITY Delta "&#916;" ><!-- греческая заглавная delta, U+0394 ISOgrk3 --> <!ENTITY Epsilon "&#917;" ><!-- греческая заглавная epsilon, U+0395 --> <!ENTITY Zeta "&#918;" ><!-- греческая заглавная zeta, U+0396 --> <!ENTITY Eta "&#919;" ><!-- греческая заглавная eta, U+0397 --> <!ENTITY Theta "&#920;" ><!-- греческая заглавная theta, U+0398 ISOgrk3 --> <!ENTITY Iota "&#921;" ><!-- греческая заглавная iota, U+0399 --> <!ENTITY Kappa "&#922;" ><!-- греческая заглавная kappa, U+039A --> <!ENTITY Lambda "&#923;" ><!-- греческая заглавная lambda, U+039B ISOgrk3 --> <!ENTITY Mu "&#924;" ><!-- греческая заглавная mu, U+039C --> <!ENTITY Nu "&#925;" ><!-- греческая заглавная nu, U+039D --> <!ENTITY Xi "&#926;" ><!-- греческая заглавная xi, U+039E ISOgrk3 --> <!ENTITY Omicron "&#927;" ><!-- греческая заглавная omicron, U+039F --> <!ENTITY Pi "&#928;" ><!-- греческая заглавная pi, U+03A0 ISOgrk3 --> <!ENTITY Rho "&#929;" ><!-- греческая заглавная rho, U+03A1 --> <!-- отсутствует символ Sigmaf и U+03A2 --> <!ENTITY Sigma "&#931;" ><!-- греческая заглавная sigma, U+03A3 ISOgrk3 --> <!ENTITY Tau "&#932;" ><!-- греческая заглавная tau, U+03A4 --> <!ENTITY Upsilon "&#933;" ><!-- греческая заглавная upsilon, U+03A5 ISOgrk3 --> <!ENTITY Phi "&#934;" ><!-- греческая заглавная phi, U+03A6 ISOgrk3 --> <!ENTITY Chi "&#935;" ><!-- греческая заглавная chi, U+03A7 --> <!ENTITY Psi "&#936;" ><!-- греческая заглавная psi, U+03A8 ISOgrk3 --> <!ENTITY Omega "&#937;" ><!-- греческая заглавная omega, U+03A9 ISOgrk3 --> <!ENTITY alpha "&#945;" ><!-- греческая alpha, U+03B1 ISOgrk3 --> <!ENTITY beta "&#946;" ><!-- греческая beta, U+03B2 ISOgrk3 --> <!ENTITY gamma "&#947;" ><!-- греческая gamma, U+03B3 ISOgrk3 --> <!ENTITY delta "&#948;" ><!-- греческая delta, U+03B4 ISOgrk3 --> <!ENTITY epsilon "&#949;" ><!-- греческая epsilon, U+03B5 ISOgrk3 --> <!ENTITY zeta "&#950;" ><!-- греческая zeta, U+03B6 ISOgrk3 --> <!ENTITY eta "&#951;" ><!-- греческая eta, U+03B7 ISOgrk3 --> <!ENTITY theta "&#952;" ><!-- греческая theta, U+03B8 ISOgrk3 --> <!ENTITY iota "&#953;" ><!-- греческая iota, U+03B9 ISOgrk3 --> <!ENTITY kappa "&#954;" ><!-- греческая kappa, U+03BA ISOgrk3 --> <!ENTITY lambda "&#955;" ><!-- греческая lambda, U+03BB ISOgrk3 --> <!ENTITY mu "&#956;" ><!-- греческая mu, U+03BC ISOgrk3 --> <!ENTITY nu "&#957;" ><!-- греческая nu, U+03BD ISOgrk3 --> <!ENTITY xi "&#958;" ><!-- греческая xi, U+03BE ISOgrk3 --> <!ENTITY omicron "&#959;" ><!-- греческая omicron, U+03BF NEW --> <!ENTITY pi "&#960;" ><!-- греческая pi, U+03C0 ISOgrk3 --> <!ENTITY rho "&#961;" ><!-- греческая rho, U+03C1 ISOgrk3 --> <!ENTITY sigmaf "&#962;" ><!-- греческая final sigma, U+03C2 ISOgrk3 --> <!ENTITY sigma "&#963;" ><!-- греческая sigma, U+03C3 ISOgrk3 --> <!ENTITY tau "&#964;" ><!-- греческая tau, U+03C4 ISOgrk3 --> <!ENTITY upsilon "&#965;" ><!-- греческая upsilon, U+03C5 ISOgrk3 --> <!ENTITY phi "&#966;" ><!-- греческая phi, U+03C6 ISOgrk3 --> <!ENTITY chi "&#967;" ><!-- греческая chi, U+03C7 ISOgrk3 --> <!ENTITY psi "&#968;" ><!-- греческая psi, U+03C8 ISOgrk3 --> <!ENTITY omega "&#969;" ><!-- греческая omega, U+03C9 ISOgrk3 --> <!ENTITY thetasym "&#977;" ><!-- греческая theta символьная, U+03D1 НОВЫЙ --> <!ENTITY upsih "&#978;" ><!-- греч. upsilon с крючком символьная, U+03D2 НОВЫЙ --> <!ENTITY piv "&#982;" ><!-- греческая pi символьная, U+03D6 ISOgrk3 -->


<!-- Общая Пунктуация --> <!ENTITY bull "&#8226;" ><!-- список - маленький чёрный кружок, U+2022 ISOpub --> <!-- bullet это НЕ то же самое, что оператор bullet, U+2219 --> <!ENTITY hellip "&#8230;" ><!-- горизонтальное многоточие, U+2026 ISOpub --> <!ENTITY prime "&#8242;" ><!-- минуты/футы, U+2032 ISOtech --> <!ENTITY Prime "&#8243;" ><!-- секунды/дюймы, U+2033 ISOtech --> <!ENTITY oline "&#8254;" ><!-- overline, U+203E НОВЫЙ --> <!ENTITY frasl "&#8260;" ><!-- слэш/деление, U+2044 НОВЫЙ -->

<!-- Буквоподобные Символы --> <!ENTITY weierp "&#8472;" ><!-- Weierstrass p, U+2118 ISOamso --> <!ENTITY image "&#8465;" ><!-- чёрная заглавная I, U+2111 ISOamso --> <!ENTITY real "&#8476;" ><!-- чёрная заглавная R, U+211C ISOamso --> <!ENTITY trade "&#8482;" ><!-- trade mark, U+2122 ISOnum --> <!ENTITY alefsym "&#8501;" ><!-- alef symbol, U+2135 НОВЫЙ --> <!-- alef это НЕ то же самое, что еврейская буква alef, U+05D0, хотя один и тот же глиф может использоваться для вывода обоих символов -->

<!-- Arrows --> <!ENTITY larr "&#8592;" ><!-- стрелка влево, U+2190 ISOnum --> <!ENTITY uarr "&#8593;" ><!-- стрелка вверх, U+2191 ISOnum--> <!ENTITY rarr "&#8594;" ><!-- стрелка вправо, U+2192 ISOnum --> <!ENTITY darr "&#8595;" ><!-- стрелка вниз, U+2193 ISOnum --> <!ENTITY harr "&#8596;" ><!-- стрелка влево-вправо, U+2194 ISOamsa --> <!ENTITY crarr "&#8629;" ><!-- направо и вниз = возврат каретки , U+21B5 НОВЫЙ --> <!ENTITY lArr "&#8656;" ><!-- двойная влево, U+21D0 ISOtech --> <!-- В Unicode не говорится, что lArr это то же самое, что 'is implied by', но и нет другого символа для этой функции. Итак, ? lArr может использоваться для 'is implied by', как сказано в ISOtech --> <!ENTITY uArr "&#8657;" ><!-- двойная вверх, U+21D1 ISOamsa --> <!ENTITY rArr "&#8658;" ><!-- двойная вправо, U+21D2 ISOtech --> <!-- В Unicode не говорится, что rArr это то же самое, что символ 'implies', но и нет другого символа для этой функции. Итак, ? rArr может использоваться для 'implies', как сказано в ISOtech --> <!ENTITY dArr "&#8659;" ><!-- двойная вниз, U+21D3 ISOamsa --> <!ENTITY hArr "&#8660;" ><!-- двойная влево вправо, U+21D4 ISOamsa -->



<!-- Математические Операторы --> <!ENTITY forall "&#8704;" ><!-- для всех, U+2200 ISOtech --> <!ENTITY part "&#8706;" ><!-- частичный дифференциал, U+2202 ISOtech --> <!ENTITY exist "&#8707;" ><!-- существует, U+2203 ISOtech --> <!ENTITY empty "&#8709;" ><!-- нулевой набор = диаметр, U+2205 ISOamso --> <!ENTITY nabla "&#8711;" ><!-- nabla = backward difference, U+2207 ISOtech --> <!ENTITY isin "&#8712;" ><!-- элемент, U+2208 ISOtech --> <!ENTITY notin "&#8713;" ><!-- не элемент, U+2209 ISOtech --> <!ENTITY ni "&#8715;" ><!-- содержит как член, U+220B ISOtech --> <!-- наверное, должно быть что-нибудь более запоминающееся, чем 'ni'? --> <!ENTITY prod "&#8719;" ><!-- продукт, U+220F ISOamsb --> <!-- prod это НЕ тот же самый символ, что U+03A0 'греческая заглавная pi', хотя один и тот же глиф может использоваться для изображения обоих --> <!ENTITY sum "&#8721;" ><!-- n-ary sumation, U+2211 ISOamsb --> <!-- sum это НЕ тот же самый символ, что U+03A3 'греческая заглавная sigma', хотя один и тот же глиф может использоваться для изображения обоих --> <!ENTITY minus "&#8722;" ><!-- минус, U+2212 ISOtech --> <!ENTITY lowast "&#8727;" ><!-- оператор звёздочка, U+2217 ISOtech --> <!ENTITY radic "&#8730;" ><!-- квадратный корень, U+221A ISOtech --> <!ENTITY prop "&#8733;" ><!-- пропорционально, U+221D ISOtech --> <!ENTITY infin "&#8734;" ><!-- бесконечность, U+221E ISOtech --> <!ENTITY ang "&#8736;" ><!-- угол, U+2220 ISOamso --> <!ENTITY and "&#8743;" ><!-- логическое И, U+2227 ISOtech --> <!ENTITY or "&#8744;" ><!-- логическое ИЛИ, U+2228 ISOtech --> <!ENTITY cap "&#8745;" ><!-- пересечение, U+2229 ISOtech --> <!ENTITY cup "&#8746;" ><!-- union = cup, U+222A ISOtech --> <!ENTITY int "&#8747;" ><!-- интеграл, U+222B ISOtech --> <!ENTITY there4 "&#8756;" ><!-- следовательно, U+2234 ISOtech --> <!ENTITY sim "&#8764;" ><!-- оператор тильда, U+223C ISOtech --> <!-- оператор тильда это НЕ тот же самый символ, что и tilde, U+007E, хотя один и тот же глиф может использоваться для представления обоих --> <!ENTITY cong "&#8773;" ><!-- приблизительно равно, U+2245 ISOtech --> <!ENTITY asymp "&#8776;" ><!-- почти равно, U+2248 ISOamsr --> <!ENTITY ne "&#8800;" ><!-- не равно, U+2260 ISOtech --> <!ENTITY equiv "&#8801;" ><!-- идентично, U+2261 ISOtech --> <!ENTITY le "&#8804;" ><!-- меньше-чем или равно, U+2264 ISOtech --> <!ENTITY ge "&#8805;" ><!-- больше-чем или равно, U+2265 ISOtech --> <!ENTITY sub "&#8834;" ><!-- поднабор, U+2282 ISOtech --> <!ENTITY sup "&#8835;" ><!-- наднабор, U+2283 ISOtech --> <!-- Обратите внимание, что nsup, 'не наднабор, U+2283', не покрывается Symbol font encoding и не включён. Может, это необходимо, для симметрии? Это в ISOamsn --> <!ENTITY nsub "&#8836;" ><!-- не поднабор, U+2284 ISOamsn --> <!ENTITY sube "&#8838;" ><!-- поднабор или равно, U+2286 ISOtech --> <!ENTITY supe "&#8839;" ><!-- наднабор или равно, U+2287 ISOtech --> <!ENTITY oplus "&#8853;" ><!-- плюс в кружке = direct sum, U+2295 ISOamsb --> <!ENTITY otimes "&#8855;" ><!-- circled times = vector product, U+2297 ISOamsb --> <!ENTITY perp "&#8869;" ><!-- перпендикуляр, U+22A5 ISOtech --> <!ENTITY sdot "&#8901;" ><!-- оператор точка, U+22C5 ISOamsb --> <!-- оператор dot это НЕ тот же самый символ, что и U+00B7 middle dot -->



<!-- Различные Технические --> <!ENTITY lceil "&#8968;" ><!-- left ceiling = apl upstile, U+2308 ISOamsc --> <!ENTITY rceil "&#8969;" ><!-- right ceiling, U+2309 ISOamsc --> <!ENTITY lfloor "&#8970;" ><!-- left floor = apl downstile, U+230A ISOamsc --> <!ENTITY rfloor "&#8971;" ><!-- right floor, U+230B ISOamsc --> <!ENTITY lang "&#9001;" ><!-- угловая скобка влево = bra, U+2329 ISOtech --> <!-- lang это НЕ тот же самый символ, что и U+003C 'меньше-чем' или U+2039 'одиночная левая угловая кавычка' --> <!ENTITY rang "&#9002;" ><!-- угловая скобка вправо = ket, U+232A ISOtech --> <!-- rang это НЕ тот же самый символ, что и U+003E 'больше-чем' или U+203A 'одиночная правая угловая кавычка' -->

<!-- Геометрические Фигуры --> <!ENTITY loz "&#9674;" ><!-- ромб, U+25CA ISOpub -->

<!-- Различные Символы --> <!ENTITY spades "&#9824;" ><!-- чёрные пики, U+2660 ISOpub --> <!-- чёрные здесь означает "заполненные", в отличие от пустых --> <!ENTITY clubs "&#9827;" ><!-- чёрные трефы, U+2663 ISOpub --> <!ENTITY hearts "&#9829;" ><!-- чёрные червы, U+2665 ISOpub --> <!ENTITY diams "&#9830;" ><!-- чёрные бубны, U+2666 ISOpub -->

<!-- конец xhtml-symbol.ent -->


Модель форматирования


Предыдущие версии HTML пытались определить части такой модели, которые требовались от пользовательского агента (ПА) для использования при форматировании документа. С появлением HTML 4, W3C начал процесс отделения представления от структуры. XHTML 1.0 поддерживает это разделение, и данный документ продолжает движение от HTML и его потомков в этом направлении. Соответственно, данный документ не выдвигает никаких требований к модели форматирования, ассоциированной с представлением документов, размеченных с помощью типов документов Семейства XHTML.

Наоборот, данный документ рекомендует, чтобы авторы содержимого полагались на механизмы определения стилей, такие как CSS, при определении модели форматирования для своего содержимого.

Если ПА поддерживают механизмы стилей, то документы будут сформатированы так, как ожидается.

Если ПА не поддерживают механизмы стилей, то документы будут сформатированы так,  как определяет сам ПА. Это позволяет ПАгентам Семейства XHTML поддерживать сложные (так и просится - навороченные; А.Р.) модели форматирования на тех устройствах, где это возможно, и изменять  модели форматирования на тех устройствах, где это

допустимо.

[]   []   []



Модуль Applet


Не рекомендуется применять этот модуль. Соответствующая функциональность может быть найдена в .

Модуль Applet предоставляет элементы для ссылок на внешние приложения.

Модуль Applet поддерживает следующие элементы и атрибуты:

Элементы

Атрибуты

Модель минимального содержимого

applet Core, alt* (), archive (),
code (), codebase (),
height* (), object (),
width* ()
(PCDATA | Flow | param)*
param id (), name* (), type (ContentType), value (), valuetype ("data"* | "ref" | "object") EMPTY

При использовании модуля Applet добавляется элемент applet к набору содержимого Inline модуля Text.

Реализация:



Модуль Base


В модуле Base определён элемент, который может использоваться для определения базового URI, с помощью которого вычисляются относительные URI документа.

Элемент и атрибут этого модуля:

Элемент

Атрибут

Модель минимального содержимого

base href* () EMPTY

При использовании этого модуля элемент base добавляется к модели содержимого элемента head модуля Structure.

Реализация:



Модуль Basic Forms


Модуль Basic Forms предоставляет элементы, относящиеся к форме, но лишь в ограниченном виде. Модуль Basic Forms поддерживает следующие элементы, атрибуты и модель минимального содержимого:

Элементы

Атрибуты

Модель минимального содержимого

form , action* (), method ("get"* | "post"),

enctype ()

(Heading | List | Block - form)+
input , accesskey (),
checked ("checked"), maxlength (), name (), size (),

src (), tabindex (), type ("text"* | "password" | "checkbox" | "radio" | "submit" | "reset" | "hidden" ), value ()

EMPTY
label , accesskey (), for () (PCDATA | Inline - label)*
select , multiple ("multiple"), name (),

size (), tabindex ()

option+
option , selected ("selected"), value () PCDATA
textarea , accesskey (),
cols* (),

name (), rows* (),
tabindex ()

PCDATA

Модуль определяет два набора содержимого:

Form

form

Formctrl

input | label | select | textarea

При использовании этого модуля добавляется набор содержимого Form к набору содержимого Block и набор содержимого Formctrl к набору содержимого Inline, как это определено в модуле Text.

Реализация:



Модуль Basic Tables


Модуль Basic Tables предоставляет элементы, относящиеся к таблицам, но в ограниченном виде. Модуль Basic Tables поддерживает:

Элементы

Атрибуты

Модель минимального содержимого

caption (PCDATA | Inline)*
table , summary ( ), width ( ) caption?, tr+
td , abbr (), align ("left" | "center" | "right"), axis (), colspan (), headers (), rowspan (), scope ("row" | "col"), valign ("top" | "middle" | "bottom") (PCDATA | Flow - table)*
th , abbr (), align ("left" | "center" | "right"), axis (), colspan (), headers (), rowspan (), scope ("row" | "col" ), valign ("top" | "middle" | "bottom") (PCDATA | Flow - table)*
tr , align ("left" | "center" | "right"), valign ("top" | "middle" | "bottom") (td | th)+

При использовании этого модуля добавляется элемент table к набору содержимого Block, как определено в модуле Text.

Реализация:



Модуль Bi-directional Text


Модуль Bi-directional Text определяет элемент, который может использоваться для объявления правил двунаправленного текста для содержимого элемента.

Элемент

Атрибут

Модель минимального содержимого

bdo , dir* ("ltr" | "rtl") (PCDATA | Inline)*

При использовании этого модуля добавляется элемент bdo к набору содержимого Inline модуля Text. При выборе этого модуля добавляется также атрибут dir* ("ltr" | "rtl") к коллекции атрибутов I18N.

Реализация:



Модуль Client-side Image Map


Модуль Client-side Image Map предоставляет элементы для клиентских карт изображений. Для этого необходимо, чтобы модуль Image (или другой модуль, поддерживающий элемент img) был подключён. Модуль Client-side Image Map поддерживает следующие элементы:

Элементы

Атрибуты

Модель минимального содержимого

a& coords (), shape ("rect" | "circle" | "poly" | "default") n/a
area , accesskey (), alt* (), coords (), href (), nohref ("nohref"), shape ("rect"* | "circle" | "poly" | "default"), tabindex () EMPTY
img& usemap () n/a
input& usemap () n/a
map , , class (),

id* (), title ()

((Heading | Block) | area)+
object& usemap () Примечание: Только если подключён объектный модуль (object module).

При использовании этого модуля добавляется элемент map к набору содержимого Inline модуля Text.

Реализация:



Модуль Edit


Этот модуль определяет элементы и атрибуты для использования в разметке, относящейся к редактированию:

Элемент

Атрибуты

Модель минимального содержимого

del , cite (),
datetime (Datetime)
(PCDATA | Flow)*
ins , cite (),
datetime (Datetime)
(PCDATA | Flow)*

При использовании этого модуля добавляются элементы del и ins к набору содержимого Inline модуля Text.

Реализация:



Модуль Forms


Модуль Forms форм HTML 4.0. Модуль Forms поддерживает:

Элементы

Атрибуты

Модель минимального содержимого

form , accept (), accept-charset (), action* (), method ("get"* | "post"), enctype () (Heading | List | Block - form | fieldset)+
input , accept (), accesskey (), alt (), checked ("checked"), disabled ("disabled"), maxlength (), name (), readonly ("readonly"), size (), src (), tabindex (), type ("text"* | "password" | "checkbox" | "button" | "radio" | "submit" | "reset" | "file" | "hidden" | "image"), value () EMPTY
select , disabled ("disabled"), multiple ("multiple"), name (), size (), tabindex () (optgroup | option)+
option , disabled ("disabled"), label (),

selected ("selected"), value ()

PCDATA
textarea , accesskey (), cols* (),

disabled ("disabled"), name (), readonly ("readonly"), rows* (), tabindex ()

PCDATA
button , accesskey (), disabled ("disabled"), name (), tabindex (), type ("button" | "submit"* | "reset"), value () (PCDATA | Heading | List | Block - Form | Inline - Formctrl)*
fieldset (PCDATA | legend | Flow)*
label , accesskey (), for () (PCDATA | Inline - label)*
legend , accesskey () (PCDATA | Inline)+
optgroup , disabled ("disabled"), label* () option+

Этот модуль определяет два набора содержимого:

Form

form | fieldset

Formctrl

input | select | textarea | label | button

При использовании этого модуля добавляется набор содержимого Form к набору содержимого Block и набор содержимого Formctrl к набору содержимого Inline, как это определено в модуле Text.

Модуль Forms является наднабором модуля Basic Forms. Эти модули не могут использоваться совместно в одном типе документа.

Реализация:



Модуль Frames


Как видно из названия, модуль Frames предоставляет элементы относящиеся к фрэймам.

Модуль Frames поддерживает:

Элементы

Атрибуты

Модель минимального содержимого

frameset , cols ( ), rows ( ) (frameset | frame)+, noframes?
frame , frameborder ("1" | "0"), longdesc ( ), marginheight ( ), marginwidth ( ), noresize ("noresize"), scrolling ("yes" | "no" | "auto"*), src ( ) EMPTY
noframes body

При использовании этого модуля модель минимального содержимого элемента html модуля Structure изменяется на (head, frameset).

Реализация:



Модуль Hypertext


Модуль Hypertext предоставляет элемент, который используется для определения гипертекстовых ссылок на другие ресурсы. Этот модуль поддерживает следующие элемент и атрибуты:

Элемент

Атрибуты

Модель минимального содержимого

a , accesskey (), charset (),

href (), hreflang (), rel (),

rev (), tabindex (), type ()

(PCDATA | Inline - a)*

Этот модуль добавляет элемент a к набору содержимого Inline модуля Text.

Реализация:



Модуль Iframe


Модуль Iframe Module определяет элемент для определения инлайн-фрэймов.

Элемент и атрибуты этого модуля:

Элемент

Атрибуты

Модель минимального содержимого

iframe , frameborder ("1" | "0"), height (), longdesc (), marginheight (), marginwidth (), scrolling ("yes" | "no" | "auto"*), src (), width () (PCDATA | Flow)*

При использовании этого модуля добавляется элемент iframe к набору содержимого Inline, как определено в модуле Text.

Реализация:



Модуль Image


Модуль Image предоставляет базовые возможности внедрения изображений и может независимо использоваться в некоторых реализациях клиентскими картами изображений. Модуль Image поддерживает следующие элемент и атрибуты:

Элемент

Атрибуты

Модель минимального содержимого

img , alt* (), height (Length), longdesc (), src* (), width () EMPTY

При использовании этого модуля добавляется элемент img к набору содержимого Inline модуля Text.

Реализация:



Модуль Intrinsic Events


Внутренние события это атрибуты, используемые вместе с элементами, которые могут вызывать специфические события при выполнении пользователем определённых действий. Атрибуты, приведённые в следующей таблице, добавлены к набору атрибутов соответствующих элементов, если только

модули, определяющие эти элементы, подключены (выбраны). Заметьте также, что выбор этого модуля определяет коллекцию атрибутов , как описано выше. Атрибуты, определённые в этом модуле:

Элементы

Атрибуты

Примечания

a& onblur (), onfocus ()  
area& onblur (), onfocus () Если используется также и модуль Client-side Image Map.
frameset& onload (), onunload () Если используется также и модуль Frames.
form& onreset (), onsubmit () Если используется модуль Basic Forms или Forms.
body& onload (), onunload ()  
label& onblur (), onfocus () Если используется модуль Forms.
input& onblur (), onchange (),

onfocus (), onselect ()

Если используется модуль Basic Forms или Forms.
select& onblur (), onchange (),

onfocus ()

Если используется модуль Basic Forms или Forms.
textarea& onblur (), onchange (),

onfocus (), onselect ()

Если используется модуль Basic Forms или Forms.
button& onblur (), onfocus () Если используется модуль Forms.

Реализация:



Модуль Legacy


Модуль Legacy определяет элементы и атрибуты, которые уже не рекомендовались в предыдущих версиях HTML и XHTML и остаются таковыми и в Модуляризации XHTML. Авторы языков разметки более не должны использовать эти элементы и атрибуты.

В следующей таблице приведены элементы и атрибуты, определяемые при выборе модуля Legacy.

Элементы

Атрибуты

Модель минимального содержимого

basefont color (), face (), id (),

size ()

EMPTY
center (PCDATA | Flow)*
dir , compact ("compact") (li)+
font , , color (), face (), size () (PCDATA | Inline)*
isindex , , prompt () EMPTY
menu , compact ("compact") (li)+
s (PCDATA | Inline)*
strike (PCDATA | Inline)*
u (PCDATA | Inline)*

В следующей таблице показаны дополнительные атрибуты для элементов, определённых в любом другом месте, при выборе модуля Legacy.

Элементы

Атрибуты

Примечания

body& alink (), background (), bgcolor (), link (), text (), vlink ()  
br& clear ("left" | "all" | "right" | "none"*)  
caption& align ("top" | "bottom" | "left" | "right")  
div& align ("left" | "center" | "right" | "justify")  
dl& compact ("compact"), type ()  
h1-h6& align ("left" | "center" | "right" | "justify")  
hr& align ("left" | "center" | "right" | "justify"),

(""), size (),

width (),

 
img& align ("left" | "center" | "right" | "justify"),

border (), hspace (), vspace ()

 
input& align ("top" | "middle" | "bottom" | "left" | "right") Если выбран модуль Basic Forms или Forms.
legend& align ("left" | "center" | "right" | "justify") Если выбран модуль Forms.
li& type (), value ()  
ol& compact ("compact"), start (),

type ()

 
p& align ("left" | "center" | "right", "justify")  
pre& width ()  
script& language () Если выбран модуль Scripting.
table& align ("left" | "center" | "right"), bgcolor () Если выбран модуль Tables.
tr& bgcolor () Если выбран модуль Tables.
th& bgcolor (), height () nowrap ("nowrap"), width () Если выбран модуль Tables.
td& bgcolor (), height () nowrap ("nowrap"), width () Если выбран модуль Tables.
ul& compact ("compact"), type ()  

Реализация:

[]   []   []



Модуль Link


Модуль Link определяет элемент, который может использоваться для определения ссылок на внешние ресурсы. Эти ресурсы часто используются для расширения возможностей ПА при обработке ассоциированного документа XHTML.

Элемент и атрибуты этого модуля:

Элемент

Атрибуты

Модель минимального содержимого

link , charset (), href (), hreflang (), media (MediaDesc), rel (), rev (), type () EMPTY

При использовании этого модуля элемент link добавляется к модели содержимого элемента head модуля Structure.

Реализация:



Модуль List


Как видно из названия, модуль List предоставляет элементы, ориентированные на списки.

Модуль List поддерживает следующие элементы и атрибуты:

Элементы

Атрибуты

Модель минимального содержимого

dl (dt | dd)+
dt (PCDATA | Inline)*
dd (PCDATA | Flow)*
ol li+
ul li+
li (PCDATA | Flow)*

Этот модуль определяет также набор содержимого List с минимальной моделью содержимого (dl | ol | ul)+ и добавляет этот набор к набору содержимого Flow модуля Text.

Реализация:



Модуль Metainformation


В модуле Metainformation определён элемент, описывающий информацию в объявляющей части документа (в XHTML - в элементе head).

Этот модуль содержит следующий элемент:

Элемент

Атрибуты

Модель минимального содержимого

meta , content* (), http-equiv (), name (), scheme () EMPTY

При использовании этого модуля элемент meta

добавляется к модели содержимого элемента head , как определено в модуле Structure.

Реализация:



Модуль Name Identification


Не рекомендуется применять этот модуль.

Модуль Name Identification определяет атрибут name для коллекции элементов. Атрибут name исторически использовался для идентификации определённых элементов в документах HTML. Поскольку атрибут name был вытеснен атрибутом id во всех этих элементах, могут быть варианты, когда языки разметки будут поддерживать оба эти атрибута. Такие языки разметки могут делать это путём включения данного модуля.

Обратите внимание, что при включении этого модуля оба атрибута - name и id - определены для указанных элементов. В такой ситуации, если для элемента определён атрибут name, атрибут id также должен быть определён. Кроме того, оба эти атрибута обязаны иметь одно и то же значение. Наконец, если документы, использующие этот атрибут, обрабатываются как Internet Media Type "text/xml" или "application/xml", то значение атрибута name в этих элементах не должно использоваться как идентификатор фрагмента.

Элементы

Атрибуты

Примечания

a& name ()  
applet& name () Если выбран модуль Applet.
form& name () Если выбран модуль Forms или Basic Forms.
frame& name () Если выбран модуль Frames.
iframe& name () Если выбран модуль Iframe.
img& name () Если выбран модуль Image.
map& name () Если выбран модуль Client-side Image Map.

Реализация:



Модуль Object


Модуль Object предоставляет поддержку включения объектов общего назначения.

Модуль Object поддерживает:

Элементы

Атрибуты

Модель минимального содержимого

object Common, archive (), classid (), codebase (), codetype (), data (URI), declare ("declare"), height (), name (), standby (), tabindex (), type (), width () (PCDATA | Flow | param)*
param id (), name* (), type (ContentType),

value (), valuetype ("data"* | "ref" | "object")

EMPTY

При использовании этого модуля добавляется элемент object к набору содержимого Inline модуля Text.

Реализация:



Модуль Presentation


Этот модуль определяет элементы, атрибуты и модель минимального содержимого для простой разметки, относящейся к представлению:

Элементы

Атрибуты

Модель минимального содержимого

b (PCDATA | Inline)*
big (PCDATA | Inline)*
hr EMPTY
i (PCDATA | Inline)*
small (PCDATA | Inline)*
sub (PCDATA | Inline)*
sup (PCDATA | Inline)*
tt (PCDATA | Inline)*

При использовании этого модуля добавляется элемент hr к набору содержимого Block модуля Text. Дополнительно добавлены элементы b, big, i, small, sub, sup и tt к набору содержимого Inline модуля Text.

Реализация:



Модуль Scripting


В модуле Scripting определены элементы, используемые для размещения информации, относящейся к выполняемым скриптам, или при отсутствии поддержки выполняемых скриптов. Элементы и атрибуты этого модуля:

Элементы

Атрибуты

Модель минимального содержимого

noscript (Heading | List | Block)+
script charset (), defer ("defer"),

src (), type* (), xml:space="preserve"

PCDATA

При использовании этого модуля элементы script

и noscript добавляются к наборам содержимого Block и Inline модуля Text. Дополнительно элемент script добавляется к модели содержимого элемента head , определённого в модуле Structure.

Реализация:



Модуль Server-side Image Map


Модуль Server-side Image Map предоставляет поддержку выбора изображения и передачу координат выбора. Для этого необходимо, чтобы модуль Image (или другой модуль, поддерживающий элемент img) был подключён.

Модуль Server-side Image Map поддерживает следующие атрибуты:

Элементы

Атрибуты

Модель минимального содержимого

Примечания

img& ismap ("ismap") n/a  
input& ismap ("ismap") n/a Если выбран модуль Forms или Basic Forms.

Реализация:



Модуль Structure


Модуль Structure определяет основные структурные элементы XHTML. Эти элементы действуют эффективно как базис для модели содержимого многих типов документов семейства XHTML. Элементы и атрибуты, включённые в этот модуль:

Элементы

Атрибуты

Модель минимального содержимого

body (Heading | Block | List)*
head , profile () title
html , version (),
xmlns (URI = "http://www.w3.org/1999/xhtml")
head, body
title PCDATA

Этот модуль является базовым структурным определением содержимого XHTML.

Элемент html действует как корневой элемент для всех Типов Семейства Документов XHTML.

Обратите внимание, что значение атрибута xmlns определено в "".

Также отметьте, что, поскольку атрибут xmlns рассматривается разборщиком пространства имён XML особым образом [], правильным будет вставлять его в качестве атрибута в каждый элемент. Однако всякий раз, когда атрибут xmlns используется в контексте модуля XHTML, с префиксом или без него, значением атрибута должно быть пространство имён XHTML, определённое здесь. См. дополнительные правила, относящиеся к использованию пространства имён с модулями семейства XHTML в .

Реализация: