Этот документ является не официальным переводом исходной английской версии. Обратите внимание на то, что оригинальная версия документа существует только на английском языке. Данный перевод может содержать неточности и ошибки. Перевод выполнил © Зайцев Дмитрий, 2011. При поддержке сайта latex pillow. Комментарии к переводу оставляйте здесь! | | На главную

W3C

XHTML Basic 1.1 - Второе Издание

Рекомендация W3C от 23 ноября 2010

Эта версия:
http://www.w3.org/TR/2010/REC-xhtml-basic-20101123
Последняя версия:
http://www.w3.org/TR/xhtml-basic
Предыдущая версия:
http://www.w3.org/TR/2010/PER-xhtml-basic-20101007
Версия с отмеченными различиями от предыдущей версии:
xhtml-basic-diff.html
Предыдущая рекомендация:
http://www.w3.org/TR/2008/REC-xhtml-basic-20080729
Версия с отмеченными различиями от предыдущей версии:
xhtml-basic-rec-diff.html
Редакторы:
Шэйн Мак-Кэррон (Shane McCarron), Applied Testing and Technology, Inc. shane@aptest.com
Версия 1.1 Редакторы:
Шэйн Мак-Кэррон (Shane McCarron), Applied Testing and Technology, Inc.
Масаясу Ишикава (Masayasu Ishikawa), (до марта 2007 года, при W3C)
Версия 1.0 Редакторы:
Марк Бейкер (Mark Baker), Sun Microsystems
Масаясу Ишикава (Masayasu Ishikawa), (до марта 2007 года, при W3C)
Шиничи Мацуи (Shinichi Matsui), Panasonic
Питер Старк (Peter Stark), Ericsson
Тед Вугофски (Ted Wugofski), Openwave Systems
Тошихико Ямаками (Toshihiko Yamakami), ACCESS Co., Ltd.

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

Этот документ, также доступен в таких ненормативных форматах как: PostScript версия, PDF версия, ZIP архив, и Gzip TAR архив.


Аннотация

Тип документа XHTML Basic включает в себя минимальный набор модулей, необходимых для типа документа принимающего язык XHTML(Расширяемый язык разметки гипертекста), кроме того, он включает в себя изображения, формы, простые таблицы и поддержку объектов. Он предназначен для веб-клиентов, которые не поддерживают полный набор возможностей XHTML; например, такие веб-клиенты как мобильные телефоны, КПК (PDA), пейджеры, и телеприставки. Данный тип документа предоставляет достаточно широкие возможности для написания документаций.

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

Данная версия (1.1, Второе издание), заменяет собой версию 1.1, как это определено в http://www.w3.org/TR/2008/REC-xhtml-basic-20080729. В данную ревизию, были добавлены схемы XML и lang атрибут. В обновление с версии 1.0 до версии 1.1, были включены в язык несколько новых функций, чтобы лучше обслуживать сообщества малых устройств, которые являются одними из основных потребителей этого языка:

  1. Формы XHTML (определенные в [XHTMLMOD])
  2. Внутренние события (определенные в [XHTMLMOD])
  3. Значение атрибута для элемента li (определено в [XHTMLMOD])
  4. Целевой атрибут (определено в [XHTMLMOD])
  5. Стиль элемента (определено в [XHTMLMOD])
  6. Стиль атрибута (определено в [XHTMLMOD])
  7. XHTML презентация модуля (определено в [XHTMLMOD])
  8. InputMode атрибут (определено в Разделе 5 данного документа)

Определение типа документа реализуется с помощью XHTML модулей, как это определено в "Модуляризация XHTML" [XHTMLMOD].

Статус этого документа

Этот раздел описывает статус данного документа на момент его публикации. Другие документы могут заменять этот документ. Со списком текущих публикаций W3C и последней ревизией этого технического доклада можно ознакомиться в индексе технических докладов W3C на http://www.w3.org/TR/.

Этот документ является Рекомендацией W3C и заменяет собой версию рекомендации XHTML Basic от 29 июля 2008. Он отражает межотраслевое соглашение о множестве возможностей языка разметки, которые позволяют авторам создавать более качественные сетевые документы, поставляемый для широкого спектра устройств. Единственными изменениями в этой версии, является добавление реализации XML Schema в языке разметки и интеграции lang атрибута для обеспечения лучшей совместимости с пользовательскими программами и вспомогательными технологиями. Версия, которая показывает конкретные изменения от предыдущей рекомендации, доступна в форме с отмеченными различиями.

Этот документ был подготовлен Рабочей Группой W3C XHTML2 в рамках деятельности W3C HTML. Пожалуйста, посмотрите доклад о внедрении данного документа Рабочей Группой.

Пожалуйста, присылайте комментарии по этому документу, по адресу www-html-editor@w3.org (архив). По этому адресу неуместно отправлять электронные письма для обсуждения. Письма для публичных обсуждений присылайте по адресу www-html@w3.org (архив).

Этот документ был рассмотрен членами W3C, разработчиками программного обеспечения, а также другими группами W3C и заинтересованными сторонами, и одобрен Директором в качестве Рекомендации W3C. Это стабильный документ и может быть использован в качестве справочного материала или цитат в другом документе. Роль W3C в разработке Рекомендации, заключается в привлечении внимания к спецификации, и способствовать ее широкому распространению. Это повышает функциональность и совместимость в Веб (Web)

Этот документ был подготовлен группой, действующей в рамках патентной политики W3C от 5 февраля 2004 года. W3C поддерживает публичный список открытых патентов сделанный в связи с результатами деятельности группы; эта страница также включает в себя инструкции по раскрытию патента. Лица, обладающие актуальной информацией о патенте, который удовлетворяет основным требованиям, должны раскрыть эту информацию согласно пункту 6 патентной политики W3C.

Содержание

1. Введение

1.1. XHTML для небольших информационных устройств

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

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

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

Определение типа документа для XHTML Basic осуществляется на основе модулей XHTML определенных в Модульности XHTML [XHTMLMOD].

Для получения информации о наилучшем применении мобильного контента, вы можете обратиться к [MOBILEBP].

1.2. Предпосылки и требования

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

Существующие подмножества и варианты HTML для этих устройств, включают в себя, Компактный HTML [CHTML], Язык разметки для беспроводных устройств [WML], и "Руководства HTML 4.0 для мобильного доступа" [Руководства]. Общими особенностями этих типов документа являются:

Этот набор особенностей HTML был отправной точкой для создания XHTML Basic. Поскольку многие разработчики документов знакомы с этими особенностями HTML, они составляют полезный принимающий язык, который можно объединять с разметкой модулей из других языков в соответствии с методами, описанными в "Модуляризации XHTML" [XHTMLMOD]. Так, например, XHTML Basic может быть расширен с помощью пользовательского модуля для поддержки более широкой семантики разметки в определенных условиях.

Цель XHTML Basic не состоит в том, чтобы ограничить функциональность будущих языков. Но так как, элементы в HTML 4 (фреймы, расширенные таблицы, и т.д.) были разработаны для такого типа клиента как персональный компьютер, они оказались непригодными для многих не настольных устройств. XHTML Basic будет расширяться, и использоваться за основу. Расширение XHTML с общими и основными наборами функций, вместо практически идентичных подгрупп или слишком большого набора функций в HTML 4, будет полезным, как для взаимодействия в Сети, так и для обеспечения масштабируемости.

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

1.3. Логическое обоснование

Этот раздел объясняет, почему некоторые особенности HTML не являются частью XHTML Basic.

1.3.1. Презентация

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

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

1.3.2. Таблицы

Простые таблицы XHTML ([XHTMLMOD], раздел 5.6.1) поддерживаются, но могут возникнуть трудности при отображении таблиц на маленьких устройствах. Рекомендуется, чтобы разработчики контента следовали Принципам доступности сетевых документов 1.0 при создании доступных таблиц ([WCAG10], принцип 5). Заметьте, что в Модуле простых таблиц вложенные таблицы недопустимы.

1.3.3. Фреймы

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

2. Соответствие

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

2.1. Соответствие документов

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

  1. Документ должен соответствовать ограничениям, выраженных в Приложении B и Приложении C .
  2. Корневым элементом документа должен быть <html>.
  3. Названием пространства имен по умолчанию в корневом элементе должно быть названием пространства имен XHTML, http://www.w3.org/1999/xhtml.

    Открывающий тег МОЖЕТ также содержать декларацию XML Schema, как образец пространства имен и XML Schema, как образец атрибута schemaLocation [XMLSCHEMA]. Такой атрибут будет ассоциировать пространство имен XHTML http://www.w3.org/1999/xhtml со схемой XML при URI http://www.w3.org/MarkUp/SCHEMA/xhtml-basic11.xsd.

  4. Корневому элементу в документе должна предшествовать декларация DOCTYPE. Публичный идентификатор, если таковой присутствует, включенный в декларацию DOCTYPE должен ссылаться на DTD, находящийся в Приложении B, используя свой Формальный Публичный Идентификатор. Системный идентификатор может быть изменен соответствующим образом.
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
        "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
    
  5. Подмножество DTD не должно быть использовано для переопределения любого параметра сущностей в DTD.

Документы XHTML Basic 1.1 ДОЛЖНЫ быть помечены в соответствии с MIME-типом "application/xhtml+xml", как это определено в [RFC3236]. За дополнительной информацией по использованию типов содержимого с XHTML, смотрите информационное примечание [XHTMLMIME].

2.2. Соответствие пользовательских программ

Пользовательские программы должны соответствовать разделу "Соответствие пользовательских программ" спецификации XHTML 1.0 ([XHTML1], раздел 3.2).

3. Тип документа XHTML Basic

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

Тип документа XHTML Basic определен как набор модулей XHTML. Все модули XHTML определены в спецификации "Модуляризация XHTML" [XHTMLMOD].

XHTML Basic состоит из следующих модулей XHTML:

Структурный модуль*
body, head, html, title
Текстовый модуль*
abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var
Гипертекстовый модуль*
a
Модуль списков*
dl, dt, dd, ol, ul, li
Модуль форм
button, fieldset, form, input, label, legend, select, optgroup, option, textarea
Модуль простых таблиц
caption, table, td, th, tr
Модуль изображений
img
Модуль объектов
object, param
Модуль презентаций
b, big, hr, i, small, sub, sup, tt
Модуль метаинформации
meta
Модуль link
link
Модуль base
base
Модуль внутренних событий
атрибуты событий
Модуль сценариев
script и noscript элементы
Модули таблицы стилей
style элемент
Модуль атрибута стиля Устаревшие
style атрибут
Модуль target
target атрибут.

Примечание:

  1. Целевой атрибут разработан для того, чтобы быть общим звеном в связывании с внешней средой (например, фреймы, многократные окон, окна браузера с вкладками); при отсутствии такой внешней среды связанной с пользовательской программой, пользовательская программа может игнорировать целевой атрибут. При наличии такой связанной внешней среды, соответствие требованиям для целевого атрибута определены в каждой среде.
  2. Автор документов должен знать, что поведение пользовательской программы для целевого атрибута зависит от многих факторов, таких как существование привязки среды, ограничения доступных ресурсов, существование других приложений и пользовательских настроек (например, pop-up блокировщики), и зависящие от реализации проектных решений. При отсутствии соответствия внешней среды, рекомендуется, чтобы авторы не зависели от использования целевого атрибута.
  3. Нужно отметить, что любое зависимое от реализации использование целевого атрибута могло бы препятствовать функциональной совместимости.

Эта спецификация также добавляет, что lang атрибут, приписывают набору атрибута I18N, как определено в XHTMLMOD. Атрибут lang определяется в HTML4. Когда этот атрибут и атрибут xml:lang определяются в том же самом элементе, атрибут xml:lang имеет приоритет. Когда оба атрибута lang и xml:lang определяются в том же самом элементе, у них ДОЛЖНО быть то же самое значение.

(*) = Этот модуль является необходимым модулем Базового языка XHTML.

XHTML Basic также, использует модуль атрибута inputmode XHTML, как определено в этой спецификации. Этот модуль добавляет атрибут inputmode к элементам input и textarea модуля форм XHTML.

Наконец, XHTML Basic добавляет атрибут value к элементу li модуля списка XHTML.

XML 1.0 DTD доступен в Приложении B. Реализация XML Schema доступна в Приложении C.

4. Как использовать XHTML Basic

Хотя XHTML может использоваться, как - простой язык XHTML с текстом, ссылками, и изображениями - назначение его простой схемы в том, чтобы использоваться в качестве базового языка. Базовый язык может содержать смесь словарей, собранных в один тип документа. Естественно, что XHTML является базовым языком, так как это то, к чему привыкло большинство Веб-разработчиков.

При добавлении разметки из других языков к XHTML Basic, в результате этого тип документа будет являться расширением XHTML Basic. Разработчики документов могут разрабатывать документы для XHTML Basic или воспользоваться преимуществами расширений. Цель XHTML Basic заключается в том, чтобы служить общим языком, который поддерживает различные виды пользовательских программ.

5. Модуль атрибута inputmode XHTML

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

Этот раздел первоначально был компонентом XForms 1.0, и был написан Мартином Дёрстом.

Модуль атрибута inputmode определен, как inputmode атрибут.

inputmode = CDATA
Этот атрибут определяет тип информации для текущего элемента.

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

Элементы Атрибуты Примечания
input& inputmode (CDATA) Когда базовые формы или модуль форм выбраны.
textarea& inputmode (CDATA) Когда базовые формы или модуль форм выбраны.

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

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

5.1 Синтаксис значения атрибута inputmode

Значение атрибута inputmode является разделенный пробелом список лексем. Лексема это последовательность букв алфавита или абсолютные URI. Позже, могут быть отделены лексемы от предшествующих, отметив, что абсолютные ссылки URI содержат ':'. Лексемы чувствительны к регистру. Все лексемы, состоящие из букв алфавита, определены только в данной спецификации, в 5.3 Список лексем (или преемника этой спецификации).

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

5.2 Поведение клиентского приложения

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

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

Примечание:

Дополнительные руководства для реализации пользовательского приложения, можно найти в [UAAG 1.0].

Следующий простой алгоритм используется, чтобы определить, как пользовательские приложения сопоставляют значения атрибута inputmode к режимам ввода, которые они могут обеспечить. Этот алгоритм не должен осуществляться напрямую; пользовательские приложения должны поступать так, как если бы они использовали его. Алгоритм не предназначен, чтобы привести к "очевидным" или "желаемым" результатам для всех возможных комбинаций лексем, но, во всех случаях, предназначен для получения предсказуемого и правильного поведения для часто встречающихся комбинаций лексем.

Во-первых, каждый из доступных режимов ввода представлен одним или несколькими списками лексем. Режим ввода может соответствовать больше чем одному списку лексем; например, в системе, установленной для греческого пользователя, и "Греческий Верхний регистр" и "Пользовательский Верхний регистр" будут соответствовать одному и тому же режиму ввода. Не будет двух одинаковых списков.

Во-вторых, атрибут inputmode отсканирован по всей длине. Для каждого символа t в атрибуте inputmode, если в остающихся списках лексем представляющие доступные режимы ввода существует список лексем, который содержит t, тогда все списки лексем представляющие доступные режимы ввода не содержащие t удаляются. Если список лексем, содержащий символ t отсутствует, тогда t будет проигнорирован.

В-третьих, если остались один или несколько списков лексем, и все они соответствуют тем же режимам ввода, тогда будет выбран этот режим ввода. Если не остался ни один из списков (это означает, что его не было при запуске алгоритма), или если остальные списки соответствуют более чем одному режиму ввода, тогда не будет выбран ни один режим ввода.

Пример: Предположим, что список, списков лексем представляющих доступные режимы ввода, является: {"Кириллица Заглавные буквы", "Кириллица строчные буквы", "кириллица", "латынь", "пользовательские Заглавные буквы", "пользовательские строчные буквы"}, тогда следующие значения inputmode выбирают следующие режимы ввода: "кириллический заголовок" выбирает "кириллица", "Кириллица строчные буквы" выбирает "Кириллица строчные буквы", " строчные буквы Кириллица" выбирает "Кириллица строчные буквы", "латинский Заглавные буквы" выбирает "латынь", но "Заглавные буквы латинский" делает выбор между "Кириллица Заглавные буквы" и "Пользовательские Заглавные буквы", если они соответствуют тому же самому режиму ввода, и не выбирает ни один режим ввода, если "Кириллица Заглавные буквы" и "Пользовательские Заглавные буквы" не соответствуют тому же самому режиму ввода.

5.3 Список лексем

Лексемы, определенные в данной спецификации, делятся на две категории: лексемы сценария и модификаторы. В атрибутах inputmode, лексемы сценария всегда должны перечисляться перед модификаторами.

5.3.1 Лексемы сценария

Лексемы сценария обеспечивают общее представление о наборе символов, который охвачен режимом ввода. В большинстве случаев, лексемы сценария соответствуют непосредственно [Unicode Scripts]. Некоторые лексемы соответствуют названиям блока в Java-классе java.lang.Character.UnicodeBlock ([Java Unicode Blocks]) или названиям блока Unicode. Однако это ни как не означает то, что режим ввода должен разрешить ввод для всех символов в скрипте или блоке, и также не означает, что режим ввода ограничивается только символами из конкретного сценария. Например, "Латинская" клавиатура не охватывает все символы латиницы, и включает в себя знаки пунктуации, которые не отнесены к латинице. Имена сценариев были взяты из версии 3.2 стандарта Unicode.

Лексема режима ввода Комментарии
arabic Имя сценария Unicode
armenian Имя сценария Unicode
bengali Имя сценария Unicode
bopomofo Имя сценария Unicode
braille используется для ввода шаблонов шрифта Брайля (не для указания устройства ввода данных шрифта Брайля)
buhid Имя сценария Unicode
canadianAboriginal Имя сценария Unicode
cherokee Имя сценария Unicode
cyrillic Имя сценария Unicode
deseret Имя сценария Unicode
devanagari Имя сценария Unicode
ethiopic Имя сценария Unicode
georgian Имя сценария Unicode
greek Имя сценария Unicode
gothic Имя сценария Unicode
gujarati Имя сценария Unicode
gurmukhi Имя сценария Unicode
han Имя сценария Unicode
hangul Имя сценария Unicode
hanja Подмножество 'han' используется в письменном Корейском
hanunoo Имя сценария Unicode
hebrew Имя сценария Unicode
hiragana Имя сценария Unicode (может включать в себя другие японские сценарии, произведенные путем конвертации из хираганы)
ipa Международная фонетическая транскрипция
kanji Подмножество 'han' используется в письменной форме японского
kannada Имя сценария Unicode
katakana Имя сценария Unicode (полной ширины, не полуширина)
khmer Имя сценария Unicode
lao Имя сценария Unicode
latin Имя сценария Unicode
malayalam Имя сценария Unicode
math математические символы и связанные с ними символы
mongolian Имя сценария Unicode
myanmar Имя сценария Unicode
ogham Имя сценария Unicode
oldItalic Имя сценария Unicode
oriya Имя сценария Unicode
runic Имя сценария Unicode
simplifiedHanzi Подмножество 'han' используется в письменной форме упрощенного китайского
sinhala Имя сценария Unicode
syriac Имя сценария Unicode
tagalog Имя сценария Unicode
tagbanwa Имя сценария Unicode
tamil Имя сценария Unicode
telugu Имя сценария Unicode
thaana Имя сценария Unicode
thai Имя сценария Unicode
tibetan Имя сценария Unicode
traditionalHanzi Подмножество 'han' используется в письменной форме традиционного китайского
user Особое значение обозначающее 'родной' ввод пользователя (например, для ввода ее имени или текста на родном языке).
yi Имя сценария Unicode

5.3.2 Лексемы модификатора

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

Лексема режима ввода Комментарии
lowerCase нижний регистр (для двухпалатных сценариев)
upperCase верхний регистр (для двухпалатных сценариев)
titleCase регистр заголовка (для двухпалатных сценариев): слова начинаются с заглавные буквы
startUpper ввод начинается с одной заглавной буквы, а затем продолжается со строчными буквами
digits цифры определенного сценария (например, inputmode='thai digits')
symbols символы, знаки препинания (подходит для конкретного сценария)
predictOn Текстовый прогноз включен (например, для рабочего текста)
predictOff Текстовый прогноз выключен (например, для паролей)
halfWidth полуширина совместимости форм (например, Katakana; устаревшее)

5.4 Отношение граней модели к XML Schema

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

  1. Набор допустимых символов, определенных в модели, может быть настолько широким, что становиться не возможно, вывести разумную установку режима ввода. Однако, часто есть своего рода символы, которые будут введены пользователем с высокой вероятностью. В таком случае, inputmode позволяет устанавливать режим ввода для удобства пользователя.

  2. В некоторых случаях, можно было бы получить входной режим настройки из модели, так как множество символов, разрешенных в модели, тесно согласовываются с множеством символов, которые охватываются значением атрибута inputmode. Однако, такое образование потребует много данных и расчетов в пользовательском приложении.

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

5.5 Примеры

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

Family name: <input name="name" inputmode="kanji" />
(in kana):   <input name="namekana" inputmode="katakana" />
Given name:  <input name="Given" inputmode="kanji" />
(in kana):   <input name="Givenkana" inputmode="katakana" />
Postal code: <input name="zip" inputmode="latin digits" />
Address:     <input name="address" inputmode="kanji" />
(in kana):   <input name="addresskana" inputmode="katakana" />
Email:       <input name="email" inputmode="latin lowerCase" />
Telephone:   <input name="tel" inputmode="latin digits" />
Comments:    <textarea name="comments" inputmode="user predictOn" />

<input name="doit" type="submit" value="OK" /> 

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

Версия 1.0 данной спецификации была подготовлена Рабочей Группой W3C HTML. Участниками, на момент публикации первого издания, были:

Версия 1.1 данной спецификации была подготовлена Рабочей Группой W3C XHTML2. Участниками, на момент публикации, были:

В публикации второго издания принимали участие:

Спасибо Гэри Эдэмсу (Gary Adams, Sun Microsystems), Джонни Экселссону (Jonny Axelsson, Metastasis design), Питеру Чену (Peter Chen, Philips), Дэну Коннолли (Dan Connolly, W3C), Джону Коуэну (John Cowan, Reuters), Мартину Дюрсту (Martin J. Dürst, W3C), Джоане Хжелм (Johan Hjelm, Ericsson), Иэну Джейкобсу (Ian Jacobs, W3C), Сьюзен Леш (Susan Lesch, W3C), Луи Терану (Louis Theran, Nokia), Куинтону Зондервану (Quinton Zondervan, Lotus), членам Специальной группы W3C по мобильному доступу, Рабочей группы W3C по синхронизированной мультимедиа, Рабочей группы W3C WAI по протоколам и форматам, а также членам Открытого Мобильного Альянса за вклад, рецензирования и комментирования этого документа.

A. Ссылки

A.1. Нормативные ссылки

[HTML4]
"Спецификация HTML 4.01", Рекомендация W3C, Д. Рэггитт, А. Ле Хорс (A. Le Hors), И. Джейкобс, редакторы, 24 декабря 1999. Доступно по адресу: http://www.w3.org/TR/1999/REC-html401-19991224
Последняя версия, доступна по адресу: http://www.w3.org/TR/html4
[RFC2854]
"Тип носителя 'text/html'", Д. Коннели (D. Connely), Л. Мэсинтер (L. Masinter), январь 2000.
Доступно по адресу: http://www.ietf.org/rfc/rfc2854.txt
[RFC3236]
"Тип носителя 'application/xhtml+xml'", М. Бейкер, П. Старк, январь 2002.
Доступно по адресу: http://www.ietf.org/rfc/rfc3236.txt
[XHTML1]
"XHTML 1.0: Расширяемый язык разметки гипертекста (Второе издание) - Переформулировка HTML 4 в XML 1.0", Рекомендация W3C, Стивен Пембертон и др., 26 января 2000, пересмотренный 1 августа 2002. Доступно по адресу: http://www.w3.org/TR/2002/REC-xhtml1-20020801
Последняя версия, доступна по адресу: http://www.w3.org/TR/xhtml1
[XHTMLMOD]
"Модуляризация XHTML 1.1, Второе издание", Рекомендация W3C, Ш. Маккеррон, редактор, 29 Июля 2010.
Доступно по адресу: http://www.w3.org/TR/2010/REC-xhtml-modularization-20100729
Последняя версия доступна по адресу: http://www.w3.org/TR/xhtml-modularization
[XML]
"Расширяемый язык разметки (XML) 1.0 (Четвертое Издание)", Рекомендация W3C, Т. Брэй (T. Bray), Дж. Пэоли (J. Paoli), Ч. М. Сперберг-МакКвин (C. M. Sperberg-McQueen), И. Мейлер (E. Maler), Ф Йорги (F. Yergeau), редакторы, 16 августа 2006. Доступно по адресу: http://www.w3.org/TR/2006/REC-xml-20060816
Последняя версия, доступна по адресу: http://www.w3.org/TR/REC-xml
[XMLSCHEMA]
"XML-Схема Часть 1: Структуры, Второе Издание", Рекомендация W3C, Х. С. Томпсон (H. S. Thompson) и др., редакторы, 28 октября 2004.
Доступно по адресу: http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/
"XML-Схема Часть 2: Типы данных, Второе Издание", Рекомендация W3C, П. В. Байрон (P. V. Biron), А. Мэлхотра (A. Malhotra), редакторы, 28 октября 2004.
Доступно по адресу: http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/

A.2. Справочные ссылки

[CHTML]
"Компактный HTML для небольших информационных устройств ", Заметка W3C, Т. Камада (T. Kamada), 9 февраля 1998. Доступно по адресу: http://www.w3.org/TR/1998/NOTE-compactHTML-19980209
[GUIDELINES]
"Руководства для мобильного доступа HTML 4.0, Заметка W3C,Т. Камада, Т. Асада, М. Ишикава, Ш. Мацуи, редакторы, 15 марта 1999. Доступно по адресу: http://www.w3.org/TR/1999/NOTE-html40-mobile-19990315
Последняя версия, доступна по адресу: http://www.w3.org/TR/NOTE-html40-mobile
Блоки Java Unicode
Java 2 Platform, Стандартная версия, v 1.4.0 API Спецификация; Класс Character.UnicodeBlock, Sun Microsystems, Inc, 2002. Доступно по адресу http://java.sun.com/j2se/1.4/docs/api/java/lang/Character.UnicodeBlock.html.
Mobile Web Best Practices
Mobile Web Best Practices 1.0, Рекомендация W3C, Джо Рабин (Jo Rabin), Чарльз МакКэтиНевайл (Charles McCathieNevile) редакторы, 29 июля 2009. Доступно по адресу: http://www.w3.org/TR/2008/REC-mobile-bp-20080729
Последняя версия, доступна по адресу: http://www.w3.org/TR/mobile-bp
UAAG 1.0
Доступность пользовательских приложений, Руководство 1.0, И. Джэйкобс, Джон Гандерсон (Jon Gunderson), Эрик Хэнсэн (Eric Hansen), 2002. Рабочий проект доступен по адресу: http://www.w3.org/TR/UAAG10/.
Сценарии Unicode
Названия сценариев, Марк Дэвис (Mark Davis), 2001. Unicode, Технический отчет #24 доступен по адресу: http://www.unicode.org/unicode/reports/tr24/.
[WCAG10]
"Принципы доступности сетевых документов 1.0", Рекомендация W3C, У. Чизхолм (W. Chisholm), Г. Вандерхайден (G. Vanderheiden), И. Джэйкобс, редакторы, 5 мая 1999. Доступно по адресу: http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505
Последняя версия, доступна по адресу: http://www.w3.org/TR/WCAG10
[WML]
"Спецификация языка беспроводной разметки", WAP Forum Ltd. WAP Forum был консолидирован в Open Mobile Alliance (OMA). Работа над спецификацией WAP продолжается в OMA и может быть найдена в OMA Веб-сайт: http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html
[XFORMS]
"XForms 1.0 (Третье Издание)", Джон М Бойер (John M Boyer), 29 октября 2007.
Последняя версия, доступна по адресу: http://www.w3.org/TR/xforms
[XHTMLMIME]
"Типы носителей XHTML", Шейн Маккеррон, 16 января 2009, или его преемники.
Последняя версия доступна по адресу: http://www.w3.org/TR/xhtml-media-types

B. Определения типа документа XHTML Basic

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

Реализация DTD в XHTML Basic 1.1 содержится в этом приложении. Есть прямые ссылки на различные файлы, и файлы в свою очередь, находятся в "Gzip TAR" и "Zip" архивах, которые связанны с верхней частью этого документа. Обратите внимание, что ссылки на файлы с пометкой "последняя версия", могут постепенно меняться в течение долгого времени. Для получения дополнительной информации, перейдите на домашнюю страницу Рабочей Группы W3C XHTML2.

B.1. Запись для XHTML Basic в открытом каталоге SGML

Данный раздел содержит определение формата открытого каталога SGML общедоступных идентификаторов для XHTML Basic.

Вы можете скачать эту версию данного файла по адресу http://www.w3.org/TR/2009/REC-xhtml-basic-20101123/xhtml-basic11.cat. Последняя версия, доступна по адресу http://www.w3.org/MarkUp/DTD/xhtml-basic11.cat.

-- .......................................................................... --
-- Файл-каталог  ............................................................ --

--  Файл данных каталога XHTML Basic

    Редакция:  $Id: index.html,v 1.2 2010/11/24 21:47:40 bertails Exp $ SMI

    Для получения подробной информации о разработке и использовании данных
    каталога смотрите "Управление сущностями", техническую
    резолюцию 9401 SGML Open. Документ доступен на сайте OASIS по адресу:

        <http://www.oasis-open.org/html/tr9401.html>
--

-- .......................................................................... --
-- Декларация SGML, связанная с XML  .................................... --

OVERRIDE YES

SGMLDECL "xml1.dcl"

-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: --

-- Файл модульного драйвера DTD XHTML Basic  ..................................... --

PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"                       "xhtml-basic11.dtd"

-- Модуль платформы XHTML Basic ............................................. --

PUBLIC "-//W3C//ENTITIES XHTML Basic 1.1 Document Model 1.0//EN"  "xhtml-basic11-model-1.mod"

-- Модуль Inputmode XHTML       ............................................. --

PUBLIC "-//W3C//ELEMENTS XHTML Inputmode 1.0//EN"  "xhtml-inputmode-1.mod"

-- Конец данных каталога  ..................................................... --
-- .......................................................................... --

B.2. Драйвер XHTML Basic

Данный раздел содержит драйвер реализации типа документа XHTML Basic, в качестве DTD XML. Он опирается на реализации модуля XHTML, определённых в [XHTMLMOD].

Вы можете скачать эту версию данного файла по адресу http://www.w3.org/TR/2009/REC-xhtml-basic-20101123/xhtml-basic11.dtd. Последняя версия, доступна по адресу http://www.w3.org/MarkUp/DTD/xhtml-basic11.dtd.

<!-- XHTML Basic 1.1 DTD  ...................................................... -->
<!-- file: xhtml-basic11.dtd -->

<!-- DTD для XHTML Basic 1.1

     Это XHTML Basic, собственное подмножество XHTML.

     Расширяемый Язык Разметки Гипертекста (XHTML)
     Copyright 1998-2007 Консорциум Всемирной сети
        (Массачусетский технологический институт, Европейский научно-исследовательский
         консорциум информатики и математики, университет Keio).
         Все права защищены.

     Настоящим разрешается использовать, копировать, изменять и распространять
     DTD для XHTML Basic и его сопроводительную документацию в любых целях и
     бесплатно на неограниченный срок при условии, что вышеупомянутое уведомление
     об авторских правах и данный абзац присутствуют во всех копиях.
     Правообладатели не заявляют о пригодности этого DTD для каких-либо целей.

     Оно предоставляется "как есть" без явных или косвенных гарантий.

        Редакторы:  Murray M. Altheim <mailto:altheim@eng.sun.com>
                    Peter Stark       <mailto:Peter.Stark@ecs.ericsson.se>
                    Shane McCarron    <mailto:shane@aptest.com>
        Редакция:  $Id: index.html,v 1.2 2010/11/24 21:47:40 bertails Exp $

-->
<!-- Это файл драйвера для версии 1.1 DTD для XHTML Basic .

     Это DTD определяется идентификаторами PUBLIC и SYSTEM:

     PUBLIC: "-//W3C//DTD XHTML Basic 1.1//EN"
     SYSTEM: "http://www.w3.org/MarkUp/DTD/xhtml-basic11.dtd"
-->
<!ENTITY % XHTML.version  "-//W3C//DTD XHTML Basic 1.1//EN" >

<!-- Используйте этот URI для идентификации пространства имён по умолчанию:

         "http://www.w3.org/1999/xhtml"

     Для получения информации об использовании префиксов
     пространства имён в DTD смотрите Модуль Полные Имёна.
-->
<!ENTITY % NS.prefixed "IGNORE" >
<!ENTITY % XHTML.prefix  "" >

<!-- Зарезервировано для использования с пространством имён XLink:
-->
<!ENTITY % XLINK.xmlns "" >
<!ENTITY % XLINK.xmlns.attrib "" >

<!-- Например, если вы используете XHTML Basic 1.1 напрямую, применяйте
     общедоступный идентификатор в декларации DOCTYPE с декларацией пространства имён
     для элемента документа, чтобы определить пространство имён по умолчанию:

         <?xml version="1.0"?>
         <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
             "http://www.w3.org/MarkUp/DTD/xhtml-basic11.dtd" >
         <html xmlns="http://www.w3.org/1999/xhtml"
               xml:lang="en" >
         ...
         </html>
-->

<!-- Зарезервировано для будущего использования с профилями документов -->
<!ENTITY % XHTML.profile  "" >

<!-- Особенности двунаправленного текста
     Эта сущность для проверки возможностей применяется для декларации
     элементов и атрибутов, используемых для поддержки двунаправленного текста.
-->
<!ENTITY % XHTML.bidi  "IGNORE" >

<?doc type="doctype" role="title" { XHTML Basic 1.1 } ?>

<!-- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!ENTITY % xhtml-events.module   "INCLUDE" >
<!ENTITY % xhtml-bdo.module      "%XHTML.bidi;" >

<!-- Модуль встроенного стиля  ........................................ -->
<!ENTITY % xhtml-inlstyle.module "INCLUDE" >
<![%xhtml-inlstyle.module;[
<!ENTITY % xhtml-inlstyle.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inline Style 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-inlstyle-1.mod" >
%xhtml-inlstyle.mod;]]>


<!ENTITY % xhtml-model.mod
     PUBLIC "-//W3C//ENTITIES XHTML Basic 1.1 Document Model 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-basic11-model-1.mod" >

<!-- Добавление Lang атрибута в коллекцию I18N -->

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

<!ENTITY % lang.attrib
     "xml:lang     %LanguageCode.datatype;  #IMPLIED
      lang         %LanguageCode.datatype;  #IMPLIED"
>

<!ENTITY % xhtml-framework.mod
     PUBLIC "-//W3C//ENTITIES XHTML Modular Framework 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-framework-1.mod" >
%xhtml-framework.mod;

<!ENTITY % pre.content
     "( #PCDATA
      | %InlStruct.class;
      %InlPhras.class;
      %Anchor.class;
      %Inline.extra; )*"
>

<!ENTITY % xhtml-text.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Text 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-text-1.mod" >
%xhtml-text.mod;

<!ENTITY % xhtml-hypertext.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Hypertext 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-hypertext-1.mod" >
%xhtml-hypertext.mod;

<!ENTITY % xhtml-list.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Lists 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-list-1.mod" >
%xhtml-list.mod;

<!-- Добавим значение атрибута к элементу li -->
<!ATTLIST %li.qname;
      value        %Number.datatype;         #IMPLIED
>

<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->

<!-- Модуль сценария  ........................................... -->
<!ENTITY % xhtml-script.module "INCLUDE" >
<![%xhtml-script.module;[
<!ENTITY % xhtml-script.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Scripting 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-script-1.mod" >
%xhtml-script.mod;]]>

<!-- Модуль Таблиц стилей  ......................................... -->
<!ENTITY % xhtml-style.module "INCLUDE" >
<![%xhtml-style.module;[
<!ENTITY % xhtml-style.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Style Sheets 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-style-1.mod" >
%xhtml-style.mod;]]>

<!-- Модуль изображений  ............................................... -->
<!ENTITY % xhtml-image.module "INCLUDE" >
<![%xhtml-image.module;[
<!ENTITY % xhtml-image.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Images 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-image-1.mod" >
%xhtml-image.mod;]]>

<!-- Модуль таблиц ............................................... -->
<!ENTITY % xhtml-table.module "INCLUDE" >
<![%xhtml-table.module;[
<!ENTITY % xhtml-table.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Basic Tables 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-basic-table-1.mod" >
%xhtml-table.mod;]]>

<!-- Модуль форм  ............................................... -->
<!ENTITY % xhtml-form.module "INCLUDE" >
<![%xhtml-form.module;[
<!ENTITY % xhtml-form.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Forms 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-form-1.mod" >
%xhtml-form.mod;]]>

<!-- Модуль презентации  ........................................ -->
<!ENTITY % xhtml-pres.module "INCLUDE" >
<![%xhtml-pres.module;[
<!ENTITY % xhtml-pres.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Presentation 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-pres-1.mod" >
%xhtml-pres.mod;]]>

<!-- Модуль элемента link  ........................................ -->
<!ENTITY % xhtml-link.module "INCLUDE" >
<![%xhtml-link.module;[
<!ENTITY % xhtml-link.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Link Element 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-link-1.mod" >
%xhtml-link.mod;]]>

<!-- Модуль метаинформации документа  ............................ -->
<!ENTITY % xhtml-meta.module "INCLUDE" >
<![%xhtml-meta.module;[
<!ENTITY % xhtml-meta.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Metainformation 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-meta-1.mod" >
%xhtml-meta.mod;]]>

<!-- Модуль элемента base  ........................................ -->
<!ENTITY % xhtml-base.module "INCLUDE" >
<![%xhtml-base.module;[
<!ENTITY % xhtml-base.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Base Element 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-base-1.mod" >
%xhtml-base.mod;]]>

<!-- Модуль элемента param  ....................................... -->
<!ENTITY % xhtml-param.module "INCLUDE" >
<![%xhtml-param.module;[
<!ENTITY % xhtml-param.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Param Element 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-param-1.mod" >
%xhtml-param.mod;]]>

<!-- Модуль внедрённого объекта  ..................................... -->
<!ENTITY % xhtml-object.module "INCLUDE" >
<![%xhtml-object.module;[
<!ENTITY % xhtml-object.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Embedded Object 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-object-1.mod" >
%xhtml-object.mod;]]>

<!-- Модуль атрибута Inputmode  .................................. -->
<!ENTITY % xhtml-inputmode.module "INCLUDE" >
<![%xhtml-inputmode.module;[
<!ENTITY % xhtml-inputmode.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Inputmode 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-inputmode-1.mod" >
%xhtml-inputmode.mod;]]>

<!-- Модуль атрибута Target  .................................... -->
<!ENTITY % xhtml-target.module "INCLUDE" >
<![%xhtml-target.module;[
<!ENTITY % xhtml-target.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Target 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-target-1.mod" >
%xhtml-target.mod;]]>


<!ENTITY % xhtml-struct.mod
     PUBLIC "-//W3C//ELEMENTS XHTML Document Structure 1.0//EN"
            "http://www.w3.org/MarkUp/DTD/xhtml-struct-1.mod" >
%xhtml-struct.mod;

<!-- конец DTD для XHTML Basic 1.1  ........................................... -->

B.3. Настройки XHTML Basic

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

Вы можете скачать эту версию данного файла по адресу http://www.w3.org/TR/2009/REC-xhtml-basic-20101123/xhtml-basic11-model-1.mod. Последняя версия, доступна по адресу http://www.w3.org/MarkUp/DTD/xhtml-basic11-model-1.mod.

<!-- ....................................................................... -->
<!-- Модуль модели документа XHTML Basic 1.1  .................................... -->
<!-- file: xhtml-basic11-model-1.mod

     Это XHTML Basic, собственное подмножество XHTML.
     Copyright 1998-2007 W3C (MIT, ERCIM, Keio), все права защищены.
     Редакция: $Id: index.html,v 1.2 2010/11/24 21:47:40 bertails Exp $ SMI

     Этот модуль DTD определяется идентификаторами PUBLIC и SYSTEM:

       PUBLIC "-//W3C//ENTITIES XHTML Basic 1.1 Document Model 1.0//EN"
       SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-basic11-model-1.mod"

     Пересмотренные и исправленные издания:
     (нет)
     ....................................................................... -->

<!-- Модель документа XHTML Basic

     Данный модуль описывает классификацию элементов, составляющих
     общие модели документа для элементов XHTML.
-->

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

<!ENTITY % HeadOpts.mix
     "( %script.qname; | %style.qname; | %meta.qname; 
      | %link.qname; | %object.qname; )*" >

<!-- script и noscript используются для хранения скриптов
     и альтернативного содержания
-->
<!ENTITY % Script.class "| %script.qname; | %noscript.qname;" >

<!-- Разные элементы  ................. -->

<!ENTITY % Misc.extra "" >

<!-- Эти элементы не являются ни блоковыми, ни внутристрочными,
     и могут использоваться, где угодно в теле документа.
-->
<!ENTITY % Misc.class
     "%Script.class;
      %Misc.extra;"
>

<!-- Внутристрочные элементы  ........................ -->

<!ENTITY % InlStruct.class "%br.qname; | %span.qname;" >

<!ENTITY % InlPhras.class
     "| %em.qname; | %strong.qname; | %dfn.qname; | %code.qname;
      | %samp.qname; | %kbd.qname; | %var.qname; | %cite.qname;
      | %abbr.qname; | %acronym.qname; | %q.qname;" >

<!ENTITY % InlPres.class
     "| %tt.qname; | %i.qname; | %b.qname; | %big.qname;
      | %small.qname; | %sub.qname; | %sup.qname;" >

<!ENTITY % I18n.class "" >

<!ENTITY % Anchor.class "| %a.qname;" >

<!ENTITY % InlSpecial.class "| %img.qname; | %object.qname;" >

<!ENTITY % InlForm.class
     "| %input.qname; | %select.qname; | %textarea.qname;
      | %label.qname; | %button.qname;" >

<!ENTITY % Inline.extra "" >

<!ENTITY % Inline.class
     "%InlStruct.class;
      %InlPhras.class;
      %InlPres.class;
      %Anchor.class;
      %InlSpecial.class;
      %InlForm.class;
      %Inline.extra;"
>

<!ENTITY % InlNoAnchor.class
     "%InlStruct.class;
      %InlPhras.class;
      %InlPres.class;
      %InlSpecial.class;
      %InlForm.class;
      %Inline.extra;"
>

<!ENTITY % InlNoAnchor.mix
     "%InlNoAnchor.class;
      %Misc.class;"
>

<!ENTITY % Inline.mix
     "%Inline.class;
      %Misc.class;"
>

<!-- Блоковые элементы  ......................... -->

<!ENTITY % Heading.class
     "%h1.qname; | %h2.qname; | %h3.qname;
      | %h4.qname; | %h5.qname; | %h6.qname;"
>
<!ENTITY % List.class  "%ul.qname; | %ol.qname; | %dl.qname;" >

<!ENTITY % Table.class "| %table.qname;" >

<!ENTITY % Form.class  "| %form.qname;" >

<!ENTITY % Fieldset.class  "| %fieldset.qname;" >

<!ENTITY % BlkStruct.class "%p.qname; | %div.qname;" >

<!ENTITY % BlkPhras.class
     "| %pre.qname; | %blockquote.qname; | %address.qname;"
>

<!ENTITY % BlkPres.class "| %hr.qname;" >

<!ENTITY % BlkSpecial.class
     "%Table.class;
      %Form.class;
      %Fieldset.class;"
>

<!ENTITY % Block.extra "" >

<!ENTITY % Block.class
     "%BlkStruct.class;
      %BlkPhras.class;
      %BlkPres.class;
      %BlkSpecial.class;
      %Block.extra;"
>

<!ENTITY % Block.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      %Misc.class;"
>

<!-- Все элементы содержимого  ................... -->

<!-- декларирует всё содержание, за исключением таблиц
-->
<!ENTITY % FlowNoTable.mix
     "%Heading.class;
      | %List.class;
      | %BlkStruct.class;
      %BlkPhras.class;
      %Form.class;
      %Block.extra;
      | %Inline.class;
      %Misc.class;"
>

<!ENTITY % Flow.mix
     "%Heading.class;
      | %List.class;
      | %Block.class;
      | %Inline.class;
      %Misc.class;"
>

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

Определим, наконец, новый модуль атрибута inputmode.

Вы можете скачать эту версию данного файла по адресу http://www.w3.org/TR/2009/REC-xhtml-basic-20101123/xhtml-inputmode-1.mod. Последняя версия, доступна по адресу http://www.w3.org/MarkUp/DTD/xhtml-inputmode-1.mod.

<!-- ...................................................................... -->
<!-- Модуль Inputmode в XHTML  .............................................. -->
<!-- файл: xhtml-inputmode-1.mod

     Это XHTML, переформулирование HTML как модульного приложения XML.
     Copyright 1998-2007 W3C (MIT, ERCIM, Keio), все права защищены.
     Редакция: $Id: index.html,v 1.2 2010/11/24 21:47:40 bertails Exp $

     Этот модуль DTD определяется идентификаторами PUBLIC и SYSTEM:

       PUBLIC "-//W3C//ELEMENTS XHTML Inputmode 1.0//EN"
       SYSTEM "http://www.w3.org/MarkUp/DTD/xhtml-inputmode-1.mod"

     Пересмотренные и исправленные издания:
     (нет)
     ....................................................................... -->

<!-- Inputmode 

        inputmode

     Этот модуль объявляет атрибут 'inputmode', используемый для того, чтобы
     предложить режим ввода, связанный с элементом textarea или input.
-->

<!-- исполнять в этом фрейме --> 
<!ENTITY % Inputmode.datatype "CDATA" >

<!-- добавление атрибута 'inputmode', к элементу 'input' -->
<!ATTLIST %input.qname;
      inputmode       %Inputmode.datatype;   #IMPLIED
>

<!-- добавление атрибута 'inputmode', к элементу 'textarea' -->
<!ATTLIST %textarea.qname;
      inputmode       %Inputmode.datatype;   #IMPLIED
>

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

C. Определение XML Schema в XHTML Basic

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

C.1. Драйвер XML Schema в XHTML Basic

Этот раздел содержит драйвер для реализации такого типа документа XHTML Basic, как XML Schema. Он основывается на реализации модуля XHTML определенные в [XHTMLMOD].

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://www.w3.org/1999/xhtml"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
           xmlns="http://www.w3.org/1999/xhtml"
           blockDefault="#all">

  <xs:annotation>
    <xs:documentation>
        Это драйвер XML Schema для XHTML Basic 1.1.
        Пожалуйста, используйте это пространство имен для элементов XHTML:
         "http://www.w3.org/1999/xhtml"

        $Id: index.html,v 1.2 2010/11/24 21:47:40 bertails Exp $
    </xs:documentation>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
        Это XHTML Basic
        Copyright &#169;1998-2008 Консорциум Всемирной сети
        (Массачусетский технологический институт, Европейский научно-исследовательский
         консорциум информатики и математики, университет Keio).
        Все права защищены.

        Настоящим разрешается использовать, копировать, изменять и распространять
        модули XHTML Schema и их сопроводительную xs:документацию в любых целях и
        бесплатно на неограниченный срок при условии, что вышеупомянутое уведомление
        об авторских правах и данный абзац присутствуют во всех копиях.
        Правообладатели не заявляют о пригодности этих модулей XHTML Schema
	    для каких-либо целей.

        Они предоставляются "как есть", без явных или косвенных гарантий.
    </xs:documentation>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
        Это файл драйвера Schema для типа документа XHTML Basic 1.1

        Эта схема включает в себя
          + импорт внешних схем (xml.xsd)
          + переопределяют (и включают) модули схемы для типа
            документа XHTML Basic 1.1.
          + включают Schema для Именованной модели контента для типа документа
            XHTML Basic 1.1 Document Type

        Тип документа XHTML Basic 1.1 включает следующие Модули

        Модули Ядра XHTML (Необходимые для соответствия семейства XHTML)
            +  текст
            +  гипертекст
            +  списки
            +  структура (пересмотрено)

        Другие модули XHTML
           +  Модуль link
           +  Метаинформация
           +  Внутренние События
           +  Сценарии
           +  Таблица стилей
           +  Модуль style
           +  Модуль target
           +  Модуль inputmode
           +  Модуль base
           +  Модуль image
           +  Модуль object
           +  Презентация
           +  Модуль param
           +  Формы
           +  Простые таблицы
    </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="xhtml-basic11-model-1.xsd">
    <xs:annotation>
      <xs:documentation>
          Модуль модели документа для типа документа XHTML Basic 1.1
          Этот файл схемы определяет все именованные модели, используемые Платформой
          Модуляризации XHTML для типа документа XHTML Basic 1.1
      </xs:documentation>
    </xs:annotation>
  </xs:include>
  
  <xs:include schemaLocation="xhtml-basic11-modules-1.xsd">
    <xs:annotation>
      <xs:documentation>
          Схема, которая включает модули (и переопределения)
          для типа документа XHTML Basic 1.1.
      </xs:documentation>
    </xs:annotation>
  </xs:include>  

</xs:schema>

C.2. Модули Schema в XHTML Basic

Реализации семейства 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>
        Эта схема включает в себя все модули для типа документа XHTML Basic 1.1.
        $Id: index.html,v 1.2 2010/11/24 21:47:40 bertails Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
        Эта схема включает в себя все модули (и переопределения)
        для типа документа XHTML Basic 1.1.
        Тип документа XHTML Basic 1.1 включает в себя следующие Модули
     
        Модули Ядра XHTML (Необходимые для соответствия семейства XHTML)
            +  текст
            +  гипертекст
            +  списки
            +  структура
            
        Другие модули XHTML
            +  Модуль link
            +  Модуль meta
            +  Модуль base
            +  Модуль image
            +  Модуль object
            +  Модуль param
            +  Простые формы
            +  Простые таблицы
    </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>
                Текстовый модуль

                Текстовый модуль включает объявления для всех базовых
	        	текстовых элементов контейнера и их атрибутов.

                  +  фразовый блоковый
                  +  структурный блоковый
                  +  фразовый внутристрочный
                  +  структурный внутристрочный

                Элементы, определенные здесь:
                  * 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.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:redefine 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:attributeGroup name="xhtml.li.attlist">
            <xs:attributeGroup ref="xhtml.li.attlist"/>
            <xs:attribute name="value" type="xh11d:Number"/>
        </xs:attributeGroup>
    </xs:redefine>
    <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 Basic 1.1//EN"/>
        </xs:attributeGroup>
        <xs:attributeGroup name="xhtml.body.attlist">
            <xs:attributeGroup ref="xhtml.body.attlist">
                <xs:annotation>
                    <xs:documentation>
                      Оригинальный список атрибутов тела документа
                    </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-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>
                    Изменения XHTML в списке атрибутов link
                </xs:documentation>
            </xs:annotation>
            <xs:attributeGroup ref="xhtml.link.attlist">
                <xs:annotation>
                    <xs:documentation>
                        Оригинальные атрибуты ссылки (объявлено в Модуле Ссылки)
                    </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>
                    Изменения XHTML в списке атрибутов base
                </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>
                        Оригинальные атрибуты изображения (объявлено в модуле изображений)
                </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
        </xs:attributeGroup>
    </xs:redefine>
    <xs:redefine schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-object-1.xsd">
        <xs:annotation>
            <xs:documentation>
                Модуль объекта

                Элементы, определенные здесь:
                  * 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>
                        Оригинальный список атрибутов object
                    </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-basic-table-1.xsd">
    <xs:annotation>
      <xs:documentation>
          Модуль простых таблиц

          Обратите внимание, что данный модуль не используется в XHTML
          Он предназначен для использования с XHTML Basic

          Элементы, определенные здесь:
            * table, caption, tr, th, td
      </xs:documentation>
      <xs:documentation
         source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_simpletablemodule"/>
    </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>
                    Изменения к списку атрибутов формы XHTML
                </xs:documentation>
            </xs:annotation>
            <xs:attributeGroup ref="xhtml.form.attlist">
                <xs:annotation>
                    <xs:documentation>
                        Оригинальные атрибуты формы (объявлено в модуле форм)
                    </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>
                    Изменения к элементу ввода формы 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.events.attlist">
                <xs:annotation>
                    <xs:documentation>
                        Пересмотр по событиям атрибутов модуля
                    </xs:documentation>
                </xs:annotation>
            </xs:attributeGroup>
            <xs:attributeGroup ref="xhtml.input.inputmode.attlist">
                <xs:annotation>
                    <xs:documentation>
                        Пересмотр по InputMode атрибутов модуля
                    </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 ref="xhtml.input.inputmode.attlist">
                <xs:annotation>
                    <xs:documentation>
                        Пересмотр по InputMode атрибута модуля
                    </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-events-1.xsd">
        <xs:annotation>
            <xs:documentation>
                Модули Событий XHTML 

                Атрибуты, определенные здесь:
                  XHTML Event Types
            </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>
                XHTML Модуль атрибута Target

                Атрибуты, определенные здесь:
                  target
            </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-modularization/abstract_modules.html#s_targetmodule"/>
        </xs:annotation>
    </xs:include>
    <xs:include schemaLocation="http://www.w3.org/MarkUp/SCHEMA/xhtml-inputmode-1.xsd">
        <xs:annotation>
            <xs:documentation>
                XHTML Inputmode Модуль

                Атрибуты, определенные здесь:
                  inputmode
            </xs:documentation>
            <xs:documentation source="http://www.w3.org/TR/xhtml-basic#s_inputmode"/>
        </xs:annotation>
    </xs:include>
</xs:schema>

C.3. Настройки XHTML Basic

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

<?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>
        Это модуль XML Schema именованных моделей докумена XHTML для XHTML Basic 1.1
        $Id: index.html,v 1.2 2010/11/24 21:47:40 bertails Exp $
    </xs:documentation>
    <xs:documentation source="xhtml-copyright-1.xsd"/>
  </xs:annotation>

  <xs:annotation>
    <xs:documentation>
        Модель документа XHTML Basic 1.1

            Этот модуль описывает группировки элементов/атрибутов,
            которые составляют общие модели документа для элементов XHTML.
            XHTML имеет следующие основные модели документа: 
               xhtml.Inline.mix; элементы на символьном уровне
               xhtml.Block.mix; подобные блочным элементам, например, параграфы и списки
               xhtml.Flow.mix; любые блочные или внутристрочные элементы
               xhtml.HeadOpts.mix; элементы Head
               xhtml.InlinePre.mix; Специальный класс для модели предварительного содержимого
               xhtml.InlineNoAnchor.mix; Модель содержимого для якоря(Anchor)
            
            Любые группы, объявленные в этом модуле, могут использоваться,
            для создания модели документа элементов, но вышеупомянутое считается
            'глобальной переменной' (поскольку этот термин применяется и  здесь).
            У 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: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" от содуля внутристрочного стиля
                </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>
    <!--
    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.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: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="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>
    <!--
    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.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.Anchor.class"/>
            <xs:group
                ref="xhtml.Misc.class"/>
            <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.InlSpecial.class"/>
            <xs:group
                ref="xhtml.InlForm.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>
    <!--
    В HTML 4 DTD, заголовок и список элементов были включены
    в блочную группу. Группы 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>
    <xs:group name="xhtml.FlowNoTable.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.Form.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>