Этот документ является не официальным переводом исходной английской версии. Обратите внимание на то, что оригинальная версия документа существует только на английском языке. Данный перевод может содержать неточности и ошибки. Перевод выполнил © Зайцев Дмитрий, 2011. При поддержке сайта latex pillow. Комментарии к переводу оставляйте здесь! | | На главную
Пожалуйста, обратитесь к странице исправлений для этого документа, где могут быть приведены нормативные изменения к текущему документу. См. также переводы.
Этот документ, также доступен в таких ненормативных форматах как: PostScript версия, PDF версия, ZIP архив, и Gzip TAR архив.
Copyright © 2007-2010 W3C® (MIT, ERCIM, Keio), Все права защищены. W3C придерживается правил ответственности, торговой марки и использования документов.
Тип документа 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, были включены в язык несколько новых функций, чтобы лучше обслуживать сообщества малых устройств, которые являются одними из основных потребителей этого языка:
li
(определено в [XHTMLMOD])Определение типа документа реализуется с помощью XHTML модулей, как это определено в "Модуляризация XHTML" [XHTMLMOD].
Этот раздел описывает статус данного документа на момент его публикации. Другие документы могут заменять этот документ. Со списком текущих публикаций W3C и последней ревизией этого технического доклада можно ознакомиться в индексе технических докладов W3C на http://www.w3.org/TR/.
Этот документ является Рекомендацией W3C и заменяет собой версию рекомендации XHTML Basic от 29 июля 2008. Он отражает межотраслевое соглашение о множестве возможностей языка разметки, которые позволяют авторам создавать более качественные сетевые документы, поставляемый для широкого спектра устройств. Единственными изменениями в этой версии, является добавление реализации XML Schema в языке разметки и интеграции lang
атрибута для обеспечения лучшей совместимости с пользовательскими программами и вспомогательными технологиями. Версия, которая показывает конкретные изменения от предыдущей рекомендации, доступна в форме с отмеченными различиями.
Этот документ был подготовлен Рабочей Группой W3C XHTML2 в рамках деятельности W3C HTML. Пожалуйста, посмотрите доклад о внедрении данного документа Рабочей Группой.
Пожалуйста, присылайте комментарии по этому документу, по адресу [email protected] (архив). По этому адресу неуместно отправлять электронные письма для обсуждения. Письма для публичных обсуждений присылайте по адресу [email protected] (архив).
Этот документ был рассмотрен членами W3C, разработчиками программного обеспечения, а также другими группами W3C и заинтересованными сторонами, и одобрен Директором в качестве Рекомендации W3C. Это стабильный документ и может быть использован в качестве справочного материала или цитат в другом документе. Роль W3C в разработке Рекомендации, заключается в привлечении внимания к спецификации, и способствовать ее широкому распространению. Это повышает функциональность и совместимость в Веб (Web)
Этот документ был подготовлен группой, действующей в рамках патентной политики W3C от 5 февраля 2004 года. W3C поддерживает публичный список открытых патентов сделанный в связи с результатами деятельности группы; эта страница также включает в себя инструкции по раскрытию патента. Лица, обладающие актуальной информацией о патенте, который удовлетворяет основным требованиям, должны раскрыть эту информацию согласно пункту 6 патентной политики W3C.
HTML 4 является мощным языком для создания веб-документов, но его схема не принимает во внимание проблемы, касающиеся небольших устройств, в том числе затраты на реализацию (в мощности, памяти и т.д.) полного набора функций. Потребительские устройства с ограниченными ресурсами в целом не могут себе позволить обеспечивать выполнение полного набора функций HTML 4. Т.к., для доступа к Всемирной сети требуется полноценный компьютер, большое количество людей не может получить оперативную информацию и услуги с помощью своих потребительских устройств.
Так как, есть много различных способов, как разбить на подмножества HTML, поэтому существует много практически идентичных подмножеств определенные организациями и компаниями. Без общих базовых наборов функций, сложно разрабатывать приложения для широкого круга сетевых клиентов.
Смысл XHTML заключается в предоставлении такого типа документа XHTML, который может быть общим для всех сообществ (например, настольными компьютерами, ТВ, и мобильными телефонами), и этого будет более чем достаточно, чтобы применяться для создания простых документов. Новые типы документов для различных сообществ могут быть определены путем расширения XHTML Basic, таким образом, что документы на XHTML Basic входили бы в число корректных документов нового типа документа. Таким образом, документ XHTML Basic может быть представлен на максимальное количество веб-клиентов.
Определение типа документа для XHTML Basic осуществляется на основе модулей XHTML определенных в Модульности XHTML [XHTMLMOD].
Для получения информации о наилучшем применении мобильного контента, вы можете обратиться к [MOBILEBP].
Информационные устройства ориентированы для определенных целей. Они поддерживают особенности, необходимые им для выполнения функций, для которых они создавались. Ниже приведены примеры различных информационных устройств:
Существующие подмножества и варианты 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 вместо нескольких.
Этот раздел объясняет, почему некоторые особенности HTML не являются частью XHTML Basic.
Многие простые веб-клиенты могут отображать только моноширинные шрифты. Двунаправленный текст, жирный шрифт и другие элементы текстовых расширений также не поддерживаются.
При создании презентаций, рекомендуется, чтобы использовались таблицы стилей, которые подходят для устройства.
Простые таблицы XHTML ([XHTMLMOD], раздел 5.6.1) поддерживаются, но могут возникнуть трудности при отображении таблиц на маленьких устройствах. Рекомендуется, чтобы разработчики контента следовали Принципам доступности сетевых документов 1.0 при создании доступных таблиц ([WCAG10], принцип 5). Заметьте, что в Модуле простых таблиц вложенные таблицы недопустимы.
Фреймы не поддерживаются. Фреймы зависят от интерфейса экрана и не могут применяться в некоторых небольших приборах, таких как телефоны, пейджеры и часы.
Этот раздел является нормативным.
Соответствующим документом XHTML Basic является документ, который требует только средства, описанные в качестве обязательных в данной спецификации. Такой документ должен соответствовать всем следующим критериям:
<html>
.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
.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
Документы XHTML Basic 1.1 ДОЛЖНЫ быть помечены в соответствии с MIME-типом "application/xhtml+xml", как это определено в [RFC3236]. За дополнительной информацией по использованию типов содержимого с XHTML, смотрите информационное примечание [XHTMLMIME].
Пользовательские программы должны соответствовать разделу "Соответствие пользовательских программ" спецификации XHTML 1.0 ([XHTML1], раздел 3.2).
Этот раздел является нормативным.
Тип документа 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
base
script
и noscript
элементыstyle
элементstyle
атрибутtarget
атрибут.
Примечание:
Эта спецификация также добавляет, что 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.
Хотя XHTML может использоваться, как - простой язык XHTML с текстом, ссылками, и изображениями - назначение его простой схемы в том, чтобы использоваться в качестве базового языка. Базовый язык может содержать смесь словарей, собранных в один тип документа. Естественно, что XHTML является базовым языком, так как это то, к чему привыкло большинство Веб-разработчиков.
При добавлении разметки из других языков к XHTML Basic, в результате этого тип документа будет являться расширением XHTML Basic. Разработчики документов могут разрабатывать документы для XHTML Basic или воспользоваться преимуществами расширений. Цель XHTML Basic заключается в том, чтобы служить общим языком, который поддерживает различные виды пользовательских программ.
Этот раздел является нормативным.
Этот раздел первоначально был компонентом XForms 1.0, и был написан Мартином Дёрстом.
Модуль атрибута inputmode определен, как inputmode
атрибут.
В следующей таблице приведены дополнительные атрибуты для элементов, определенных в другом месте, когда модуль inputmode выбран.
Элементы | Атрибуты | Примечания |
---|---|---|
input& | inputmode (CDATA) | Когда базовые формы или модуль форм выбраны. |
textarea& | inputmode (CDATA) | Когда базовые формы или модуль форм выбраны. |
Атрибут inputmode
предоставляет подсказку пользовательской программе, чтобы выбрать соответствующий режим ввода, для ввода текста, который ожидается в связанном управлении формой. Режим ввода может быть конфигурацией клавиатуры, редактор метода ввода (также, называется интерфейс процессора) или любые другие настройки, затрагивающие ввод на используемых устройствах.
Используя inputmode
, автор может дать подсказку программе, которая упрощает ввод формы пользователем. Авторы должны предоставлять атрибуты inputmode
там, где это возможно, убедившись, что используемые значения, охватывают широкий спектр устройств.
inputmode
Значение атрибута inputmode
является разделенный пробелом список лексем. Лексема это последовательность букв алфавита или абсолютные URI. Позже, могут быть отделены лексемы от предшествующих, отметив, что абсолютные ссылки URI содержат ':'. Лексемы чувствительны к регистру. Все лексемы, состоящие из букв алфавита, определены только в данной спецификации, в
5.3 Список лексем (или преемника этой спецификации).
Эта спецификация не определяет URI для использования их в качестве лексем, но позволяет другим определять такие URI для расширяемости. Это может стать необходимым для устройств с режимами ввода, которые не могут быть покрыты лексемами, определенными здесь. URI должен разыменоваться к удобочитаемому описанию режима ввода, связанного с использованием URI в качестве последовательности символов. Это описание должно описывать режим ввода, обозначенный этой последовательностью символов, и где и как эта последовательность символов изменяет другие лексемы, или сама изменяется другими лексемами.
При вводе в пустой элемент управления формы с атрибутом inputmode
, пользовательское приложение должно выбрать режим ввода, который указан в значении атрибута inputmode
. Пользовательские приложения, не должны использовать
атрибут inputmode
чтобы установить режим ввода, когда элемент формы управления для ввода с текстом уже существует.
Чтобы установить соответствующий режим ввода, когда элемент формы управления для ввода уже содержит текст, пользовательские приложения должны опираться на специфичные для платформы соглашения.
Пользовательские приложения должны предоставлять все режимы ввода, которые поддерживаются (операционной) системой/устройством, которой они запущены/к которому они имеют доступ, и которые установлены для постоянного использования пользователем. Как правило, это только небольшая часть режимов ввода, которые могут быть описаны с определенными в данной спецификации лексемами.
Примечание:
Дополнительные руководства для реализации пользовательского приложения, можно найти в [UAAG 1.0].
Следующий простой алгоритм используется, чтобы определить, как пользовательские приложения сопоставляют значения атрибута inputmode
к режимам ввода, которые они могут обеспечить. Этот алгоритм не должен осуществляться напрямую; пользовательские приложения должны поступать так, как если бы они использовали его. Алгоритм не предназначен, чтобы привести к "очевидным" или "желаемым" результатам для всех возможных комбинаций лексем, но, во всех случаях, предназначен для получения предсказуемого и правильного поведения для часто встречающихся комбинаций лексем.
Во-первых, каждый из доступных режимов ввода представлен одним или несколькими списками лексем. Режим ввода может соответствовать больше чем одному списку лексем; например, в системе, установленной для греческого пользователя, и "Греческий Верхний регистр" и "Пользовательский Верхний регистр" будут соответствовать одному и тому же режиму ввода. Не будет двух одинаковых списков.
Во-вторых, атрибут inputmode
отсканирован по всей длине. Для каждого символа t в атрибуте inputmode
, если в остающихся списках лексем представляющие доступные режимы ввода существует список лексем, который содержит t, тогда все списки лексем представляющие доступные режимы ввода не содержащие t удаляются. Если список лексем, содержащий символ
t отсутствует, тогда t будет проигнорирован.
В-третьих, если остались один или несколько списков лексем, и все они соответствуют тем же режимам ввода, тогда будет выбран этот режим ввода. Если не остался ни один из списков (это означает, что его не было при запуске алгоритма), или если остальные списки соответствуют более чем одному режиму ввода, тогда не будет выбран ни один режим ввода.
Пример: Предположим, что список, списков лексем представляющих доступные режимы ввода, является: {"Кириллица Заглавные буквы", "Кириллица строчные буквы", "кириллица", "латынь", "пользовательские Заглавные буквы", "пользовательские строчные буквы"}, тогда следующие значения
inputmode
выбирают следующие режимы ввода: "кириллический заголовок" выбирает "кириллица", "Кириллица строчные буквы" выбирает "Кириллица строчные буквы", " строчные буквы Кириллица" выбирает
"Кириллица строчные буквы", "латинский Заглавные буквы" выбирает "латынь", но "Заглавные буквы латинский" делает выбор между "Кириллица Заглавные буквы" и "Пользовательские Заглавные буквы", если они соответствуют тому же самому режиму ввода, и не выбирает ни один режим ввода, если "Кириллица Заглавные буквы" и "Пользовательские Заглавные буквы" не соответствуют тому же самому режиму ввода.
Лексемы, определенные в данной спецификации, делятся на две категории: лексемы сценария и модификаторы. В атрибутах inputmode
, лексемы сценария всегда должны перечисляться перед модификаторами.
Лексемы сценария обеспечивают общее представление о наборе символов, который охвачен режимом ввода. В большинстве случаев, лексемы сценария соответствуют непосредственно [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 |
Лексемы модификатора могут быть добавлены к сценариям, которые они применяют, чтобы более близко определить вид символов, ожидаемых в управлении формой. Традиционные компьютерные клавиатуры не нуждаются в большинстве лексем модификатора (действительно, пользователи на таких устройствах были бы довольно смущены, если бы программное обеспечение решило изменить регистр самостоятельно; CAPS lock для верхнего регистра может быть исключением). Однако, лексемы модификатора могут быть очень полезными, чтобы установить режимы ввода для маленьких устройств.
Лексема режима ввода | Комментарии |
---|---|
lowerCase | нижний регистр (для двухпалатных сценариев) |
upperCase | верхний регистр (для двухпалатных сценариев) |
titleCase | регистр заголовка (для двухпалатных сценариев): слова начинаются с заглавные буквы |
startUpper | ввод начинается с одной заглавной буквы, а затем продолжается со строчными буквами |
digits | цифры определенного сценария (например, inputmode='thai digits') |
symbols | символы, знаки препинания (подходит для конкретного сценария) |
predictOn | Текстовый прогноз включен (например, для рабочего текста) |
predictOff | Текстовый прогноз выключен (например, для паролей) |
halfWidth | полуширина совместимости форм (например, Katakana; устаревшее) |
Пользовательские приложения могут использовать информацию доступную в гранях модели XML Schema, чтобы установить режим ввода. Отметим, что гранью модели является жесткое ограничение на лексическое значение экземпляра узла данных, и можно задать различные ограничения для различных частей элемента данных. Атрибут inputmode
является мягкой подсказкой о видах символов, которые пользователь может, по всей вероятности, вводить в форму. Атрибут inputmode
предоставляется в дополнение к граням модели по следующим причинам:
Набор допустимых символов, определенных в модели, может быть настолько широким, что становиться не возможно, вывести разумную установку режима ввода. Однако, часто есть своего рода символы, которые будут введены пользователем с высокой вероятностью. В таком случае, inputmode
позволяет устанавливать режим ввода для удобства пользователя.
В некоторых случаях, можно было бы получить входной режим настройки из модели, так как множество символов, разрешенных в модели, тесно согласовываются с множеством символов, которые охватываются значением атрибута
inputmode
. Однако, такое образование потребует много данных и расчетов в пользовательском приложении.
Малые устройства могут оставить проверки моделей на сервере, но с легкостью смогут переключиться на те входные режимы, которые они поддерживают. Возможность сделать ввод данных для пользователей проще, имеет особое значение на небольших устройствах.
Это пример формы для ввода японского адреса.
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" />
Версия 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 по протоколам и форматам, а также членам Открытого Мобильного Альянса за вклад, рецензирования и комментирования этого документа.
Это приложение является нормативным.
Реализация DTD в XHTML Basic 1.1 содержится в этом приложении. Есть прямые ссылки на различные файлы, и файлы в свою очередь, находятся в "Gzip TAR" и "Zip" архивах, которые связанны с верхней частью этого документа. Обратите внимание, что ссылки на файлы с пометкой "последняя версия", могут постепенно меняться в течение долгого времени. Для получения дополнительной информации, перейдите на домашнюю страницу Рабочей Группы W3C XHTML2.
Данный раздел содержит определение формата открытого каталога 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" -- Конец данных каталога ..................................................... -- -- .......................................................................... --
Данный раздел содержит драйвер реализации типа документа 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:[email protected]> Peter Stark <mailto:[email protected]> Shane McCarron <mailto:[email protected]> Редакция: $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 ........................................... -->
Тип документа семейства 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 -->
Это приложение является нормативным.
Этот раздел содержит драйвер для реализации такого типа документа 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 ©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>
Реализации семейства 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>
Тип документа семейства 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>