Цей документ є не офіційним перекладом початкової англійської версії XHTML™ 1.1 - Module-based XHTML - Second Edition. Зверніть увагу на те, що оригінальна версія документа існує тільки англійською мовою. Цей переклад може містити неточності та помилки. Переклад виконав © Зайцев Дмитро, 2011. За підтримкою сайту http://arcfloorlamp.us/. Коментарі до перекладу залишайте тут! | | На головну
Зміст
Цей додаток є нормативним.
Цей розділ містить драйвер для реалізації типу документа 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>