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

D. Визначення XML Schema для XHTML 1.1

Зміст

Цей додаток є нормативним.

D.1. XHTML 1.1 Schema Драйвер

Цей розділ містить драйвер для реалізації типу документа 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 &#169;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>

D.2. Модулі Schema для XHTML 1.1

Реалізації сімейства 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>

D.3. Настроювання XHTML 1.1

Тип документу сімейства 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>

D.4. Реалізація Ruby в XML 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>