Этот документ является не официальным переводом исходной английской версии XHTML™ 1.1 - Module-based XHTML - Second Edition. Обратите внимание на то, что оригинальная версия документа существует только на английском языке. Данный перевод может содержать неточности и ошибки. Перевод выполнил © Зайцев Дмитрий, 2011. При поддержке сайта latex pillow. Комментарии к переводу оставляйте здесь! | | На главную
Содержание
Это приложение является нормативным.
Этот раздел содержит драйвер для реализации типа документа XHTML 1.1 в качестве XML Schema. Он основан на реализациях модуля XHTML, как это определено в [XHTMLMOD] и в [RUBY].
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/" xmlns="http://www.w3.org/1999/xhtml" elementFormDefault="qualified" > <xs:annotation> <xs:documentation> Это драйвер XML Schema для XHTML 1.1. Пожалуйста, используйте данное пространство имен для элементов XHTML: "http://www.w3.org/1999/xhtml" $Id: xhtml11_schema.html,v 1.1 2010/11/24 20:56:19 bertails Exp $ </xs:documentation> <xs:documentation source="xhtml-copyright-1.xsd"/> </xs:annotation> <xs:annotation> <xs:documentation> Это XHTML, переформулирование HTML как модульного приложения XML Расширяемый язык разметки гипертекста (XHTML) Copyright ©1998-2007 World Wide Web Consortium (Массачусетский технологический институт, Европейский исследовательский консорциум информатики и математики, университет Keio). Все права защищены. Настоящим разрешается использовать, копировать, изменять и распространять модули XHTML Schema и сопутствующие им xs:documentation в любых целях и бесплатно на неограниченный срок при условии, что вышеупомянутое уведомление об авторских правах и данный абзац присутствуют во всех копиях. Правообладатели не заявляют о пригодности этих модулей XML Schema для каких-либо целей. Они предоставляются "как есть" без явных или косвенных гарантий. </xs:documentation> </xs:annotation> <xs:annotation> <xs:documentation> Это файл драйвера Schema для XHTML1.1 Тип документа Эта схема + Импорт внешних схем (xml.xsd) + переопределения (и включения) модулей схем для типа документа XHTML1.1. + включает в себя схему для Именованной модели содержимого для типа документа XHTML1.1 Тип документа XHTML1.1 включает в себя следующие модули Основные модули XHTML (Обязательно для соответствия семейства XHTML) + текстовый модуль + гипертекстовый модуль + модуль списков + структурный модуль Другие модули XHTML + Модуль редактирования + Модуль Bdo + Модуль представления + Модуль Link + Модуль Meta + Модуль Base + Модуль Сценариев + Модуль Style + Модуль изображения + Модуль Applet + Модуль Object + Модуль Param (модулям Applet/Object необходим модуль Param) + Модуль таблиц + Модуль форм + Модуль клиентской карты-изображений + Модуль серверной карты-изображений + Модуль Ruby </xs:documentation> </xs:annotation> <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"> <xs:annotation> <xs:documentation> Данный импорт передает атрибуты в пространство имен XML Атрибуты XML используются различными модулями. </xs:documentation> </xs:annotation> </xs:import> <xs:include schemaLocation="xhtml11-model-1.xsd"> <xs:annotation> <xs:documentation> Модуль модели документа для типа документа XHTML1.1. Этот файл схемы определяет все именованные модели, используемые XHTML Платформа модуляризации для типа документа XHTML1.1 </xs:documentation> </xs:annotation> </xs:include> <xs:include schemaLocation="xhtml11-modules-1.xsd"> <xs:annotation> <xs:documentation> Схема, которая включает все модули (и переопределения) для типа документа XHTML1.1. </xs:documentation> </xs:annotation> </xs:include> </xs:schema>
Реализации семейства XHTML используя XML Schema, должны обеспечить свой собственный модуль схемы, который импортирует требуемые модули из Модуляризации XHTML.
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/" > <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-datatypes-1.xsd" /> <xs:annotation> <xs:documentation> Эта схема включает все модули для типа документа XHTML1.1. $Id: xhtml11_schema.html,v 1.1 2010/11/24 20:56:19 bertails Exp $ </xs:documentation> <xs:documentation source="xhtml-copyright-1.xsd"/> </xs:annotation> <xs:annotation> <xs:documentation> Эта схема включает в себя все модули (и переопределения) для типа документа XHTML1.1. Тип документа XHTML1.1 включает в себя следующие Модули Основные модули XHTML (Обязательно для соответствия семейства XHTML) + текстовый модуль + гипертекстовый модуль + модуль списков + структурный модуль Другие модули XHTML + Модуль редактирования + Модуль Bdo + Модуль представления + Модуль Link + Модуль Meta + Модуль Base + Модуль Сценариев + Модуль Style + Модуль изображения + Модуль Applet + Модуль Object + Модуль Param (модулям Applet/Object необходим модуль Param) + Модуль таблиц + Модуль Target + Модуль форм + Модуль клиентской карты-изображений + Модуль серверной карты-изображений </xs:documentation> </xs:annotation> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-framework-1.xsd"> <xs:annotation> <xs:documentation> Компонентные Модули Платформы Schema: + обозначения + типы данных + общие атрибуты + символьные объекты </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_commonatts"/> </xs:annotation> </xs:include> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-text-1.xsd"> <xs:annotation> <xs:documentation> Текстовый модуль Текстовый модуль включает в себя объявления для всех основных элементов, содержащих текст, и их атрибутов. + block phrasal + block structural + inline phrasal + inline structural Элементы, определенные здесь: * address, blockquote, pre, h1, h2, h3, h4, h5, h6 * div, p * abbr, acronym, cite, code, dfn, em, kbd, q, samp, strong, var * br, span </xs:documentation> <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_textmodule"/> </xs:annotation> </xs:include> <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-hypertext-1.xsd"> <xs:annotation> <xs:documentation> Гипертекстовый модуль Элементы, определенные здесь: * a </xs:documentation> <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_hypertextmodule"/> </xs:annotation> <xs:attributeGroup name="xhtml.a.attlist"> <xs:attributeGroup ref="xhtml.a.attlist"/> <xs:attributeGroup ref="xhtml.a.csim.attlist"> <xs:annotation> <xs:documentation> Переопределение модулем клиентской карты-изображений </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.a.events.attlist"> <xs:annotation> <xs:documentation> Переопределение модулем атрибута событий XHTML </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.a.target.attlist"> <xs:annotation> <xs:documentation> Модуль Target - дополнения атрибута </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> </xs:redefine> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-list-1.xsd"> <xs:annotation> <xs:documentation> Модуль списков Элементы, определенные здесь: * dt, dd, dl, ol, ul, li </xs:documentation> <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_listmodule"/> </xs:annotation> </xs:include> <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-struct-1.xsd"> <xs:annotation> <xs:documentation> Структурный модуль Элементы, определенные здесь: * title, head, body, html </xs:documentation> <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstract_modules.html#s_structuremodule"/> </xs:annotation> <xs:attributeGroup name="xhtml.version.attrib"> <xs:annotation> <xs:documentation> Переопределения разметкой XHTML 1.1 (для значения версии attr) </xs:documentation> </xs:annotation> <xs:attribute name="version" type="xh11d:CDATA" fixed="-//W3C//DTD XHTML 1.1//EN"/> </xs:attributeGroup> <xs:attributeGroup name="xhtml.body.attlist"> <xs:attributeGroup ref="xhtml.body.attlist"> <xs:annotation> <xs:documentation> Исходный Attlist для Body </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.body.events.attlist"> <xs:annotation> <xs:documentation> Переопределение модулем атрибута событий XHTML </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> </xs:redefine> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-edit-1.xsd"> <xs:annotation> <xs:documentation> Модуль редактирования Элементы, определенные здесь: * ins, del </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_editmodule"/> </xs:annotation> </xs:include> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-bdo-1.xsd"> <xs:annotation> <xs:documentation> Модуль двунаправленного элемента Элементы, определенные здесь: * bdo </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_bdomodule"/> </xs:annotation> </xs:include> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-pres-1.xsd"> <xs:annotation> <xs:documentation> Модуль представления Элементы, определенные здесь: * hr, b, big, i, small,sub, sup, tt </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_presentationmodule"/> </xs:annotation> </xs:include> <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-link-1.xsd"> <xs:annotation> <xs:documentation> Модуль Ссылки Элементы, определенные здесь: * link </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_linkmodule"/> </xs:annotation> <xs:attributeGroup name="xhtml.link.attlist"> <xs:annotation> <xs:documentation> Изменения к Attlist модуля ссылки XHTML </xs:documentation> </xs:annotation> <xs:attributeGroup ref="xhtml.link.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты link (объявлено в Модуле Ссылки) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.link.target.attlist"> <xs:annotation> <xs:documentation> Модуль Target в XHTML - дополнения атрибута </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> </xs:redefine> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-meta-1.xsd"> <xs:annotation> <xs:documentation> Модуль Meta Элементы, определенные здесь: * meta </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_metamodule"/> </xs:annotation> </xs:include> <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-base-1.xsd"> <xs:annotation> <xs:documentation> Модуль Base Элементы, определенные здесь: * base </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_basemodule"/> </xs:annotation> <xs:attributeGroup name="xhtml.base.attlist"> <xs:annotation> <xs:documentation> Изменения к Attlist модуля base в XHTML </xs:documentation> </xs:annotation> <xs:attributeGroup ref="xhtml.base.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты Base (определено в модуле Base) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.base.target.attlist"> <xs:annotation> <xs:documentation> Модуль Target XHTML - дополнения атрибута </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> </xs:redefine> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-script-1.xsd"> <xs:annotation> <xs:documentation> Модуль сценариев Элементы, определенные здесь: * script, noscript </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_scriptmodule"/> </xs:annotation> </xs:include> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-style-1.xsd"> <xs:annotation> <xs:documentation> Модуль Style Элементы, определенные здесь: * style </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_stylemodule"/> </xs:annotation> </xs:include> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-inlstyle-1.xsd"> <xs:annotation> <xs:documentation> Модуль атрибута Style Элемент, определенный здесь: * style </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_styleattributemodule"/> </xs:annotation> </xs:include> <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-image-1.xsd"> <xs:annotation> <xs:documentation> Модуль изображения Элементы, определенные здесь: * img </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_imagemodule"/> </xs:annotation> <xs:attributeGroup name="xhtml.img.attlist"> <xs:attributeGroup ref="xhtml.img.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты image (в модуле изображения) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.img.csim.attlist"> <xs:annotation> <xs:documentation> Определение модулем клиентской карты-изображений </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.img.ssimap.attlist"> <xs:annotation> <xs:documentation> Определение модулем серверной карты-изображений </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> </xs:redefine> <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-csismap-1.xsd"> <xs:annotation> <xs:documentation> Модуль клиентской карты-изображений (модуль CSI) Элементы, определенные здесь: * area, map </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_imapmodule"/> </xs:annotation> <xs:attributeGroup name="xhtml.area.attlist"> <xs:attributeGroup ref="xhtml.area.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты Area (в модуле CSI) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.area.events.attlist"> <xs:annotation> <xs:documentation> Переопределение Модулем Атрибута Событий </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.area.target.attlist"> <xs:annotation> <xs:documentation> Модуль Target - Зона дополнения атрибута </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> </xs:redefine> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-ssismap-1.xsd"> <xs:annotation> <xs:documentation> Модуль серверной карты-изображений Атрибуты, определенные здесь: * ismap on img </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_servermapmodule"/> </xs:annotation> </xs:include> <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-object-1.xsd"> <xs:annotation> <xs:documentation> Модуль Object Элементы, определенные здесь: * object </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_objectmodule"/> </xs:annotation> <xs:attributeGroup name="xhtml.object.attlist"> <xs:attributeGroup ref="xhtml.object.attlist"> <xs:annotation> <xs:documentation> Исходный Attlist для Object </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.object.csim.attlist"> <xs:annotation> <xs:documentation> Переопределение модулем клиентской карты-изображений </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> </xs:redefine> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-param-1.xsd"> <xs:annotation> <xs:documentation> Модуль Param Элементы, определенные здесь: * param </xs:documentation> </xs:annotation> </xs:include> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-table-1.xsd"> <xs:annotation> <xs:documentation> Модуль таблиц Элементы, определенные здесь: * table, caption, thead, tfoot, tbody, colgroup, col, tr, th, td </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_tablemodule"/> </xs:annotation> </xs:include> <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-form-1.xsd"> <xs:annotation> <xs:documentation> Модуль форм Элементы, определенные здесь: * form, label, input, select, optgroup, option, * textarea, fieldset, legend, button </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_extformsmodule"/> </xs:annotation> <xs:attributeGroup name="xhtml.form.attlist"> <xs:annotation> <xs:documentation> Изменения к Attlist формы для XHTML </xs:documentation> </xs:annotation> <xs:attributeGroup ref="xhtml.form.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты Form (объявлено в модуле форм) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.form.events.attlist"> <xs:annotation> <xs:documentation> Модуль событий XHTML - Дополнения атрибута </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.form.target.attlist"> <xs:annotation> <xs:documentation> Модуль Target XHTML - Дополнения атрибута </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> <xs:attributeGroup name="xhtml.input.attlist"> <xs:annotation> <xs:documentation> Изменения к элементу формы Input в XHTML </xs:documentation> </xs:annotation> <xs:attributeGroup ref="xhtml.input.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты Input (в модуле форм) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.input.csim.attlist"> <xs:annotation> <xs:documentation> Переопределено модулем клиентской карты-изображений </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.input.ssimap.attlist"> <xs:annotation> <xs:documentation> Переопределено модулем серверной карты-изображений </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.input.events.attlist"> <xs:annotation> <xs:documentation> Переопределено модулем атрибута события </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> <xs:attributeGroup name="xhtml.label.attlist"> <xs:attributeGroup ref="xhtml.label.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты Label (в модуле форм) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.label.events.attlist"> <xs:annotation> <xs:documentation> Переопределено модулем атрибута события </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> <xs:attributeGroup name="xhtml.select.attlist"> <xs:attributeGroup ref="xhtml.select.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты Select (в модуле форм) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.select.events.attlist"> <xs:annotation> <xs:documentation> Переопределено модулем атрибута события </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> <xs:attributeGroup name="xhtml.textarea.attlist"> <xs:attributeGroup ref="xhtml.textarea.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты TextArea (в модуле форм) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.textarea.events.attlist"> <xs:annotation> <xs:documentation> Переопределено модулем атрибута события </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> <xs:attributeGroup name="xhtml.button.attlist"> <xs:attributeGroup ref="xhtml.button.attlist"> <xs:annotation> <xs:documentation> Исходные атрибуты Button (в модуле форм) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.button.events.attlist"> <xs:annotation> <xs:documentation> Переопределено модулем атрибута события </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> </xs:redefine> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-ruby-1.xsd"> <xs:annotation> <xs:documentation> Модуль Ruby Элементы, определенные здесь: * ruby, rbc, rtc, rb, rt, rp Обратите внимание, что должен использоваться либо Ruby или Basic Ruby, но вместе использоваться они не могут </xs:documentation> <xs:documentation source="http://www.w3.org/TR/2001/REC-ruby-20010531/#complex"/> </xs:annotation> </xs:include> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-events-1.xsd"> <xs:annotation> <xs:documentation> Модули событий XHTML Атрибуты, определенные здесь: Типы событий XHTML </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_intrinsiceventsmodule"/> </xs:annotation> </xs:include> <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-target-1.xsd"> <xs:annotation> <xs:documentation> Модуль атрибута Target XHTML Атрибуты, определенные здесь: target </xs:documentation> <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_targetmodule"/> </xs:annotation> </xs:include> </xs:schema>
Тип документа семейства XHTML (такой как XHTML 1.1) должен определять модель содержимого которую он использует. Это сделано через отдельный модуль модели содержимого, который обрабатывается Модульной платформой XHTML. Модуль модели содержимого и драйвер XHTML 1.1 (см. выше) работают вместе, чтобы настроить реализации модуля к определенным требованиям типа документа. Модуль модели содержимого для XHTML 1.1 определен ниже:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/" elementFormDefault="qualified" > <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-datatypes-1.xsd"/> <xs:annotation> <xs:documentation> Это модуль XML Schema общей модели содержимого для XHTML 1.1 $Id: xhtml11_schema.html,v 1.1 2010/11/24 20:56:19 bertails Exp $ </xs:documentation> <xs:documentation source="xhtml-copyright-1.xsd"/> </xs:annotation> <xs:annotation> <xs:documentation> Модель документа XHTML Этот модуль описывает группировки элементов/атрибутов, которые составляют базовые модели содержимого для элементов XHTML. XHTML имеет следующие базовые модели содержимого: xhtml.Inline.mix; элементы на символьном уровне xhtml.Block.mix; элементы подобные блочным, например, параграфы и списки xhtml.Flow.mix; любые блочные или внутристрочные элементы xhtml.HeadOpts.mix; Элементы Head xhtml.InlinePre.mix; Специальный класс для предварительной модели содержимого xhtml.InlineNoAnchor.mix; Модель содержимого для Якоря Любые группы, объявленные в этом модуле, могут использоваться, чтобы создать модели содержимого элемента, но вышеупомянутые группы считаются 'global' (поскольку этот термин применяется здесь). XHTML имеет следующие Группы атрибутов xhtml.Core.extra.attrib xhtml.I18n.extra.attrib xhtml.Common.extra Данные Группы атрибутов считаются Глобальными </xs:documentation> </xs:annotation> <xs:attributeGroup name="xhtml.I18n.extra.attrib"> <xs:annotation> <xs:documentation> Расширенный атрибут I18n </xs:documentation> </xs:annotation> <xs:attributeGroup ref="xhtml.dir.attrib"> <xs:annotation> <xs:documentation> Атрибут "dir" из модуля двунаправленного текста (bdo) </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attribute name="lang" type="xh11d:LanguageCode" /> </xs:attributeGroup> <xs:attributeGroup name="xhtml.Common.extra"> <xs:annotation> <xs:documentation> Расширенные Общие Атрибуты </xs:documentation> </xs:annotation> <xs:attributeGroup ref="xhtml.style.attrib"> <xs:annotation> <xs:documentation> Атрибут "style" из встроенного модуля Style </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup ref="xhtml.Events.attrib"> <xs:annotation> <xs:documentation> Атрибуты от Модуля Событий </xs:documentation> </xs:annotation> </xs:attributeGroup> </xs:attributeGroup> <xs:attributeGroup name="xhtml.Core.extra.attrib"> <xs:annotation> <xs:documentation> Расширенные Основные Атрибуты </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup name="xhtml.Global.core.extra.attrib"> <xs:annotation> <xs:documentation> Расширенные Глобальные Основные Атрибуты </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup name="xhtml.Global.I18n.extra.attrib"> <xs:annotation> <xs:documentation> Расширенные Глобальные атрибуты I18n </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:attributeGroup name="xhtml.Global.Common.extra"> <xs:annotation> <xs:documentation> Расширенные Глобальные Общие Атрибуты </xs:documentation> </xs:annotation> </xs:attributeGroup> <xs:group name="xhtml.Head.extra"> <xs:sequence/> </xs:group> <xs:group name="xhtml.HeadOpts.mix"> <xs:choice> <xs:element name="script" type="xhtml.script.type"/> <xs:element name="style" type="xhtml.style.type"/> <xs:element name="meta" type="xhtml.meta.type"/> <xs:element name="link" type="xhtml.link.type"/> <xs:element name="object" type="xhtml.object.type"/> <xs:group ref="xhtml.Head.extra"/> </xs:choice> </xs:group> <xs:group name="xhtml.head.content"> <xs:sequence> <xs:group ref="xhtml.HeadOpts.mix" minOccurs="0" maxOccurs="unbounded"/> <xs:choice> <xs:sequence> <xs:element name="title" minOccurs="1" maxOccurs="1" type="xhtml.title.type"/> <xs:group ref="xhtml.HeadOpts.mix" minOccurs="0" maxOccurs="unbounded"/> <xs:sequence minOccurs="0"> <xs:element name="base" type="xhtml.base.type"/> <xs:group ref="xhtml.HeadOpts.mix" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:sequence> <xs:sequence> <xs:element name="base" type="xhtml.base.type" minOccurs="1" maxOccurs="1"/> <xs:group ref="xhtml.HeadOpts.mix" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="title" minOccurs="1" maxOccurs="1" type="xhtml.title.type"/> <xs:group ref="xhtml.HeadOpts.mix" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:choice> </xs:sequence> </xs:group> <!-- ins и del используются для обозначения редакционных изменений --> <xs:group name="xhtml.Edit.class"> <xs:choice> <xs:element name="ins" type="xhtml.edit.type"/> <xs:element name="del" type="xhtml.edit.type"/> </xs:choice> </xs:group> <!-- script и noscript используются для хранения скриптов и альтернативного содержимого --> <xs:group name="xhtml.Script.class"> <xs:choice> <xs:element name="script" type="xhtml.script.type"/> <xs:element name="noscript" type="xhtml.noscript.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.Misc.extra"> <xs:sequence/> </xs:group> <!-- Эти элементы не являются ни блочными, ни внутристрочными, и по сути, могут использоваться где угодно в теле документа. --> <xs:group name="xhtml.Misc.class"> <xs:choice> <xs:group ref="xhtml.Edit.class"/> <xs:group ref="xhtml.Script.class"/> <xs:group ref="xhtml.Misc.extra"/> </xs:choice> </xs:group> <!-- Внутристрочные элементы --> <xs:group name="xhtml.InlStruct.class"> <xs:choice> <xs:element name="br" type="xhtml.br.type"/> <xs:element name="span" type="xhtml.span.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.InlPhras.class"> <xs:choice> <xs:element name="em" type="xhtml.em.type"/> <xs:element name="strong" type="xhtml.strong.type"/> <xs:element name="dfn" type="xhtml.dfn.type"/> <xs:element name="code" type="xhtml.code.type"/> <xs:element name="samp" type="xhtml.samp.type"/> <xs:element name="kbd" type="xhtml.kbd.type"/> <xs:element name="var" type="xhtml.var.type"/> <xs:element name="cite" type="xhtml.cite.type"/> <xs:element name="abbr" type="xhtml.abbr.type"/> <xs:element name="acronym" type="xhtml.acronym.type"/> <xs:element name="q" type="xhtml.q.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.InlPres.class"> <xs:choice> <xs:element name="tt" type="xhtml.InlPres.type"/> <xs:element name="i" type="xhtml.InlPres.type"/> <xs:element name="b" type="xhtml.InlPres.type"/> <xs:element name="big" type="xhtml.InlPres.type"/> <xs:element name="small" type="xhtml.InlPres.type"/> <xs:element name="sub" type="xhtml.InlPres.type"/> <xs:element name="sup" type="xhtml.InlPres.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.I18n.class"> <xs:sequence> <xs:element name="bdo" type="xhtml.bdo.type"/> </xs:sequence> </xs:group> <xs:group name="xhtml.Anchor.class"> <xs:sequence> <xs:element name="a" type="xhtml.a.type"/> </xs:sequence> </xs:group> <xs:group name="xhtml.InlSpecial.class"> <xs:choice> <xs:element name="img" type="xhtml.img.type"/> <xs:element name="map" type="xhtml.map.type"/> <xs:element name="object" type="xhtml.object.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.InlForm.class"> <xs:choice> <xs:element name="input" type="xhtml.input.type"/> <xs:element name="select" type="xhtml.select.type"/> <xs:element name="textarea" type="xhtml.textarea.type"/> <xs:element name="label" type="xhtml.label.type"/> <xs:element name="button" type="xhtml.button.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.Inline.extra"> <xs:sequence/> </xs:group> <xs:group name="xhtml.Ruby.class"> <xs:sequence> <xs:element name="ruby" type="xhtml.ruby.type"/> </xs:sequence> </xs:group> <!-- Inline.class включает в себя все внутристрочные элементы, используемые в качестве компонента в перемешиваниях --> <xs:group name="xhtml.Inline.class"> <xs:choice> <xs:group ref="xhtml.InlStruct.class"/> <xs:group ref="xhtml.InlPhras.class"/> <xs:group ref="xhtml.InlPres.class"/> <xs:group ref="xhtml.I18n.class"/> <xs:group ref="xhtml.Anchor.class"/> <xs:group ref="xhtml.InlSpecial.class"/> <xs:group ref="xhtml.InlForm.class"/> <xs:group ref="xhtml.Ruby.class"/> <xs:group ref="xhtml.Inline.extra"/> </xs:choice> </xs:group> <!-- InlNoRuby.class включает в себя все внутристрочные элементы, за исключением ruby --> <xs:group name="xhtml.InlNoRuby.class"> <xs:choice> <xs:group ref="xhtml.InlStruct.class"/> <xs:group ref="xhtml.InlPhras.class"/> <xs:group ref="xhtml.InlPres.class"/> <xs:group ref="xhtml.I18n.class"/> <xs:group ref="xhtml.Anchor.class"/> <xs:group ref="xhtml.InlSpecial.class"/> <xs:group ref="xhtml.InlForm.class"/> <xs:group ref="xhtml.Inline.extra"/> </xs:choice> </xs:group> <!-- InlinePre.mix Используется в качестве компонента в предварительной модели --> <xs:group name="xhtml.InlinePre.mix"> <xs:choice> <xs:group ref="xhtml.InlStruct.class"/> <xs:group ref="xhtml.InlPhras.class"/> <xs:element name="tt" type="xhtml.InlPres.type"/> <xs:element name="i" type="xhtml.InlPres.type"/> <xs:element name="b" type="xhtml.InlPres.type"/> <xs:group ref="xhtml.I18n.class"/> <xs:group ref="xhtml.Anchor.class"/> <xs:group ref="xhtml.Misc.class"/> <xs:element name="map" type="xhtml.map.type"/> <xs:group ref="xhtml.Inline.extra"/> </xs:choice> </xs:group> <!-- InlNoAnchor.class включает в себя все без-якорьные внутристрочные элементы, используемые в качестве компонента в перемешиваниях --> <xs:group name="xhtml.InlNoAnchor.class"> <xs:choice> <xs:group ref="xhtml.InlStruct.class"/> <xs:group ref="xhtml.InlPhras.class"/> <xs:group ref="xhtml.InlPres.class"/> <xs:group ref="xhtml.I18n.class"/> <xs:group ref="xhtml.InlSpecial.class"/> <xs:group ref="xhtml.InlForm.class"/> <xs:group ref="xhtml.Ruby.class"/> <xs:group ref="xhtml.Inline.extra"/> </xs:choice> </xs:group> <!-- InlNoAnchor.mix включает в себя все без-якорьные внутристрочные элементы --> <xs:group name="xhtml.InlNoAnchor.mix"> <xs:choice> <xs:group ref="xhtml.InlNoAnchor.class"/> <xs:group ref="xhtml.Misc.class"/> </xs:choice> </xs:group> <!-- Inline.mix включает в себя все без-якорьные внутристрочные элементы, в том числе Misc.class --> <xs:group name="xhtml.Inline.mix"> <xs:choice> <xs:group ref="xhtml.Inline.class"/> <xs:group ref="xhtml.Misc.class"/> </xs:choice> </xs:group> <!-- InlNoRuby.mix включает в себя все inline.mix элементы, за исключением ruby --> <xs:group name="xhtml.InlNoRuby.mix"> <xs:choice> <xs:group ref="xhtml.InlNoRuby.class"/> <xs:group ref="xhtml.Misc.class"/> </xs:choice> </xs:group> <!-- В DTD для HTML 4, заголовок и список элементов были включены в блочную группу. Группы Heading.class и List.class, теперь должны быть включены явно в объявлениях элементов, где это необходимо. --> <xs:group name="xhtml.Heading.class"> <xs:choice> <xs:element name="h1" type="xhtml.h1.type"/> <xs:element name="h2" type="xhtml.h2.type"/> <xs:element name="h3" type="xhtml.h3.type"/> <xs:element name="h4" type="xhtml.h4.type"/> <xs:element name="h5" type="xhtml.h5.type"/> <xs:element name="h6" type="xhtml.h6.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.List.class"> <xs:choice> <xs:element name="ul" type="xhtml.ul.type"/> <xs:element name="ol" type="xhtml.ol.type"/> <xs:element name="dl" type="xhtml.dl.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.Table.class"> <xs:choice> <xs:element name="table" type="xhtml.table.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.Form.class"> <xs:choice> <xs:element name="form" type="xhtml.form.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.Fieldset.class"> <xs:choice> <xs:element name="fieldset" type="xhtml.fieldset.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.BlkStruct.class"> <xs:choice> <xs:element name="p" type="xhtml.p.type"/> <xs:element name="div" type="xhtml.div.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.BlkPhras.class"> <xs:choice> <xs:element name="pre" type="xhtml.pre.type"/> <xs:element name="blockquote" type="xhtml.blockquote.type"/> <xs:element name="address" type="xhtml.address.type"/> </xs:choice> </xs:group> <xs:group name="xhtml.BlkPres.class"> <xs:sequence> <xs:element name="hr" type="xhtml.hr.type"/> </xs:sequence> </xs:group> <xs:group name="xhtml.BlkSpecial.class"> <xs:choice> <xs:group ref="xhtml.Table.class"/> <xs:group ref="xhtml.Form.class"/> <xs:group ref="xhtml.Fieldset.class"/> </xs:choice> </xs:group> <xs:group name="xhtml.Block.extra"> <xs:sequence/> </xs:group> <!-- Block.class включает в себя все блочные элементы, используемые в качестве компонента в перемешиваниях --> <xs:group name="xhtml.Block.class"> <xs:choice> <xs:group ref="xhtml.BlkStruct.class"/> <xs:group ref="xhtml.BlkPhras.class"/> <xs:group ref="xhtml.BlkPres.class"/> <xs:group ref="xhtml.BlkSpecial.class"/> <xs:group ref="xhtml.Block.extra"/> </xs:choice> </xs:group> <!-- Block.mix включает в себя все блочные элементы, плюс %Misc.class; --> <xs:group name="xhtml.Block.mix"> <xs:choice> <xs:group ref="xhtml.Heading.class"/> <xs:group ref="xhtml.List.class"/> <xs:group ref="xhtml.Block.class"/> <xs:group ref="xhtml.Misc.class"/> </xs:choice> </xs:group> <!-- Все элементы содержимого Flow.mix включает в себя все текстовое содержимое, блочные и встроенные элементы Обратите внимание, что "любой" элемент, включенный здесь, позволяет нам добавить данные от любого другого пространства имен, при необходимости создания составного документа. Отметьте однако, что не возможно добавить к любому главному элементу уровня без дальнейших изменений. Чтобы добавить метаданные RDF к заголовку документа, модифицируйте структурный модуль. --> <xs:group name="xhtml.Flow.mix"> <xs:choice> <xs:group ref="xhtml.Heading.class"/> <xs:group ref="xhtml.List.class"/> <xs:group ref="xhtml.Block.class"/> <xs:group ref="xhtml.Inline.class"/> <xs:group ref="xhtml.Misc.class"/> </xs:choice> </xs:group> <!-- BlkNoForm.mix включает в себя все блоковые элементы, за исключением тех, которые существуют в модуле форм, плюс Misc.class --> <xs:group name="xhtml.BlkNoForm.mix"> <xs:choice> <xs:group ref="xhtml.Heading.class"/> <xs:group ref="xhtml.List.class"/> <xs:group ref="xhtml.BlkStruct.class"/> <xs:group ref="xhtml.BlkPhras.class"/> <xs:group ref="xhtml.BlkPres.class"/> <xs:group ref="xhtml.Table.class"/> <xs:group ref="xhtml.Block.extra"/> <xs:group ref="xhtml.Misc.class"/> </xs:choice> </xs:group> <xs:element name="html" type="xhtml.html.type"/> </xs:schema>
Спецификация RUBY в настоящий момент не определяет модуль XHTML Module, используя XML Schema. Определяется ниже:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/" > <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/" schemaLocation="xhtml-datatypes-1.xsd" /> <xs:annotation> <xs:documentation> Это модуль Ruby для XHTML $Id: xhtml11_schema.html,v 1.1 2010/11/24 20:56:19 bertails Exp $ </xs:documentation> <xs:documentation source="xhtml-copyright-1.xsd"/> </xs:annotation> <xs:annotation> <xs:documentation> "Ruby" это короткие промежутки текста рядом с основным текстом, обычно используемый в документах Восточной Азии, чтобы указать произношение или обеспечить короткую аннотацию. Полная спецификация для Ruby находится по адресу: http://www.w3.org/TR/2001/REC-ruby-20010531/ Этот модуль определяет "Ruby " или "complex Ruby", как описано в спецификации: http://www.w3.org/TR/2001/REC-ruby-20010531/#complex Простой или Базовый Ruby определен в отдельном модуле. Этот модуль объявляет элементы и их атрибуты используемых для поддержки комплексной разметки аннотации ruby(complex ruby annotation markup). Элементы, определенные здесь: * ruby, rbc, rtc, rb, rt, rp Этот модуль ожидает, что модель документа определит следующие модели содержимого + InlNoRuby.mix </xs:documentation> <xs:documentation source="http://www.w3.org/TR/2001/REC-ruby-20010531/"/> </xs:annotation> <xs:group name="xhtml.ruby.content.simple"> <xs:sequence> <xs:element name="rb" type="xhtml.rb.type"/> <xs:choice> <xs:element name="rt" type="xhtml.rt.type"/> <xs:sequence> <xs:element name="rp" type="xhtml.rp.type"/> <xs:element name="rt" type="xhtml.rt.type"/> <xs:element name="rp" type="xhtml.rp.type"/> </xs:sequence> </xs:choice> </xs:sequence> </xs:group> <xs:group name="xhtml.ruby.content.complex"> <xs:sequence> <xs:element name="rbc" type="xhtml.rbc.type"/> <xs:element name="rtc" type="xhtml.rtc.type" maxOccurs="2"/> </xs:sequence> </xs:group> <!-- добавим к этой группе любые общие атрибуты для всех элементов Ruby --> <xs:attributeGroup name="xhtml.ruby.common.attrib"/> <xs:group name="xhtml.ruby.content"> <xs:choice> <xs:group ref="xhtml.ruby.content.simple"/> <xs:group ref="xhtml.ruby.content.complex"/> </xs:choice> </xs:group> <xs:complexType name="xhtml.ruby.type"> <xs:group ref="xhtml.ruby.content"/> <xs:attributeGroup ref="xhtml.ruby.common.attrib"/> </xs:complexType> <!-- элемент rbc (базовый компонент ruby) --> <xs:attributeGroup name="xhtml.rbc.attlist"> <xs:attributeGroup ref="xhtml.ruby.common.attrib"/> </xs:attributeGroup> <xs:group name="xhtml.rbc.content"> <xs:sequence> <xs:element name="rb" type="xhtml.rb.type" /> </xs:sequence> </xs:group> <xs:complexType name="xhtml.rbc.type"> <xs:group ref="xhtml.rbc.content"/> <xs:attributeGroup ref="xhtml.rbc.attlist"/> </xs:complexType> <!-- элемент rtc (текстовый компонент ruby) --> <xs:attributeGroup name="xhtml.rtc.attlist"> <xs:attributeGroup ref="xhtml.ruby.common.attrib"/> </xs:attributeGroup> <xs:group name="xhtml.rtc.content"> <xs:sequence> <xs:element name="rt" type="xhtml.rt.type" maxOccurs="unbounded"/> </xs:sequence> </xs:group> <xs:complexType name="xhtml.rtc.type"> <xs:group ref="xhtml.rt.content"/> <xs:attributeGroup ref="xhtml.rtc.attlist"/> </xs:complexType> <!-- элемент rb (ruby base) --> <xs:attributeGroup name="xhtml.rb.attlist"> <xs:attributeGroup ref="xhtml.ruby.common.attrib"/> </xs:attributeGroup> <xs:group name="xhtml.rb.content"> <xs:sequence> <xs:group ref="xhtml.InlNoRuby.mix" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:group> <xs:complexType name="xhtml.rb.type" mixed="true"> <xs:group ref="xhtml.rb.content"/> <xs:attributeGroup ref="xhtml.rb.attlist"/> </xs:complexType> <!-- элемент rt (ruby text) --> <xs:attributeGroup name="xhtml.rt.attlist"> <xs:attributeGroup ref="xhtml.ruby.common.attrib"/> <xs:attribute name="rbspan" type="xh11d:Number" default="1"/> </xs:attributeGroup> <xs:group name="xhtml.rt.content"> <xs:sequence> <xs:group ref="xhtml.InlNoRuby.mix" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:group> <xs:complexType name="xhtml.rt.type" mixed="true"> <xs:group ref="xhtml.rt.content"/> <xs:attributeGroup ref="xhtml.rt.attlist"/> </xs:complexType> <!-- элемент rp (ruby parenthesis) --> <xs:attributeGroup name="xhtml.rp.attlist"> <xs:attributeGroup ref="xhtml.ruby.common.attrib"/> </xs:attributeGroup> <xs:group name="xhtml.rp.content"> <xs:sequence/> </xs:group> <xs:complexType name="xhtml.rp.type" mixed="true"> <xs:group ref="xhtml.rp.content"/> <xs:attributeGroup ref="xhtml.rp.attlist"/> </xs:complexType> </xs:schema>