Содержание
Этот раздел является нормативным.
Абстрактный модуль это определение модуля
XHTML с использованием описания и некоторых
соглашений по неформальной разметке.
Поскольку такие определения обычно не
используются при машинной обработке типов
документов, необходимо помочь людям понять,
что содержится в модуле.
Данный раздел посвящён способам
определения абстрактных модулей XHTML.
Модуль, соответствующий XHTML, не требует
предоставления определения
абстрактного модуля. Однако разработчику
модуля XHTML рекомендуется предоставлять
резюме для облегчения использования модуля.
Абстрактные модули не определяются
формальной грамматикой. Однако определения
должны придерживаться следующих
соглашений по синтаксису. Эти соглашения
похожи на соответствующие соглашения ОТД XML
и должны быть знакомы авторам ОТД XML.
Каждый отдельный синтаксический элемент
может комбинироваться с другими для
составления более сложных выражений,
соответствующих определённой здесь
алгебре.
expr ?
expr +
expr *
a , b
a | b
a - b
&
).*
).|
), внутри скобок после имени
атрибута.*
).=
)
и фиксированное значение, заключённое в кавычки.Определения абстрактных модулей определяют
минимальные, атомарные модели содержимого
для каждого модуля. Эти минимальные модели
содержимого ссылаются на элементы в самом
модуле.
Они могут также ссылаться на элементы в
других модулях, от которых абстрактный
модуль зависит.
Наконец, модель содержимого во многих
случаях требует, чтобы текст допускался как
содержимое для одного или более элементов.
В этих случаях символ, используемый в
тексте, является PCDATA. Это
- термин, определённый в Рекомендациях XML 1.0,
который относится к обработке символьных
данных. Тип содержимого может также быть
определён как EMPTY, что означает: элемент не имеет
содержимого в своей модели минимального
содержимого.
В некоторых случаях необходимо определять типы значений атрибутов или точный набор допустимых значений атрибутов. Следующие типы атрибутов (определённые в Рекомендациях XML 1.0) используются в определениях абстрактных модулей:
Тип атрибута | Определение |
---|---|
CDATA | Символьные данные. |
ID | Идентификатор, уникальный в пределах документа. |
IDREF | Ссылка на идентификатор, уникальный в пределах документа. |
IDREFS | Список разделённых пробелами ссылок на идентификаторы, уникальные в пределах документа. |
NAME | Имя с теми же ограничениями на вводимые символы, что и предыдущий ID. |
NMTOKEN | Имя, составленное исключительно из лексем имён, как определено в XML 1.0 [XML]. |
NMTOKENS | Одно или более разделённых пробелами значений NMTOKEN. |
PCDATA | Обрабатываемые символьные данные. |
В дополнение к этим предопределённым типам данных, Модуляризация XHTML определяет следующие типы данных и их семантику:
Тип данных | Описание | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Character | Одиночный символ из [ISO10646]. | ||||||||||||||||||||||||||||||||
Charset | Набор символов, как в [RFC2045]. | ||||||||||||||||||||||||||||||||
Charsets | Список разделённых пробелами наборов символов (кодировок), как в [RFC2045]. | ||||||||||||||||||||||||||||||||
Color |
Значение атрибута типа "Color" относится к определению цвета, как специфицировано в [SRGB]. Значение цвета может быть 16-ричным числом (с префиксом из знака #) или одним из следующих 16 названий цвета. Названия цвета чувствительны к регистру.
Таким образом, значения цвета "#800080" и "Purple" оба относятся к пурпурному цвету. |
||||||||||||||||||||||||||||||||
ContentType | Тип содержимого, как в [RFC2045]. | ||||||||||||||||||||||||||||||||
ContentTypes | Список разделённых запятыми типов содержимого, как в [RFC2045]. | ||||||||||||||||||||||||||||||||
Coords | Список разделённых запятыми координат, используемых при определении областей. | ||||||||||||||||||||||||||||||||
Datetime | Информация о дате и времени. | ||||||||||||||||||||||||||||||||
FPI | Символьная строка, представляющая SGML Formal Public Identifier (формальный публичный идентификатор). | ||||||||||||||||||||||||||||||||
FrameTarget | Имя фрэйма, используемого в качестве целевого для результата определённых действий. | ||||||||||||||||||||||||||||||||
LanguageCode | Код языка, как в [RFC3066]. | ||||||||||||||||||||||||||||||||
Length | Размер. Значение может быть в пикселах или в процентах от доступного вертикального или горизонтального пространства. Таким образом, значение "50%" означает половину доступного пространства. | ||||||||||||||||||||||||||||||||
LinkTypes |
Авторы могут использовать следующие распознаваемые
типы ссылок, перечисленные здесь с их
соответствующими интерпретациями. Эти типы ссылок чувствительны к регистру, т.е. "Alternate" - это то же самое, что и "alternate". Пользовательские агенты (ПА), поисковые машины и т.п. могут интерпретировать эти типы ссылок по-разному. Например, ПА могут предоставлять доступ к связанным документам через навигационную панель.
|
||||||||||||||||||||||||||||||||
MediaDesc |
Атрибут MediaDesc это список разделённых запятыми медиа-дескрипторов. Ниже дан список распознаваемых медиа-дескрипторов:
В будущих версиях XHTML могут быть введены новые значения и могут быть разрешены параметризованные значения. Для облегчения процесса введения этих расширений соответствующие ПА обязаны быть способны разбирать значения атрибута media следующим образом:
Примечание. Таблицы стилей могут включать медиа-зависимые вариации (например, конструкция CSS @media). В таких случаях лучше будет использовать "media =all". |
||||||||||||||||||||||||||||||||
MultiLength | Значением может быть Length или относительный размер. Относительный размер имеет форму "i*", где "i" это целое число. При распределении пространства между элементами, претендующими на это пространство, ПА выделяют сначала пикселные и процентные размеры, затем делят оставшееся свободное пространство между относительными размерами. Каждое относительное значение получает часть доступного пространства пропорционально целому числу, предшествующему "*". Значение "*" эквивалентно "1*". Таким образом, если 60 пикселов пространства доступны после того, как ПА распределил абсолютные и процентные размеры, и соперничающие относительные размеры - 1*, 2* и 3*; то 1* получит 10 пикселов, 2* получит 20 пикселов, а 3* получит 30 пикселов. | ||||||||||||||||||||||||||||||||
MultiLengths | Список разделённых запятыми элементов типа MultiLength. | ||||||||||||||||||||||||||||||||
Number | Одна или более цифр. | ||||||||||||||||||||||||||||||||
Pixels | Значение - целое число, представляющее количество пикселов канвы (экрана, листа). Таким образом, значение "50" это 50 пикселов. См. нормативную информацию об определении пиксела в [CSS2]. | ||||||||||||||||||||||||||||||||
Script |
Данные скрипта могут быть содержимым элемента "script" и значением атрибутов внутренних событий. ПА обязаны не разбирать данные скрипта как разметку HTML, а обязаны, вместо этого, передавать их как данные машине скриптов. Чувствительность к регистру данных скрипта зависит от языка скриптов. Обратите внимание, что данные скрипта, являющиеся содержимым элемента, не могут содержать символьных ссылок, а данные скрипта, являющиеся значением атрибута - могут содержать их. |
||||||||||||||||||||||||||||||||
Shape | Очертания (форма) области. | ||||||||||||||||||||||||||||||||
Text | Произвольные текстовые данные, как правило - на человеческом языке. | ||||||||||||||||||||||||||||||||
URI | Uniform Resource Identifier (Универсальный Идентификатор Ресурса), как в [URI]. | ||||||||||||||||||||||||||||||||
URIs | Список разделённых пробелами Uniform Resource Identifiers, как в [URI]. |
Этот раздел является информативным.
В этом разделе определён образец
абстрактного модуля как пример
использования преимуществ синтаксических правил,
определённых выше.
Поскольку в этом примере сделана попытка
использовать все определённые
синтаксические элементы, он весьма сложен.
Типичные определения модуля намного проще
этого.
Наконец, обратите внимание, что этот модуль
ссылается на коллекцию атрибутов Common. Это - коллекция, определённая в спецификации
Модуляризации XHTML, включающая все базовые
атрибуты, необходимые для большинства
элементов.
Модуль XHTML Skiing определяет разметку для использования при описании аспектов ski lodge (лыжного домика?? - кто знает, переведите!!). Элементы и атрибуты, определённые в этом модуле:
Элементы | Атрибуты | Модель минимального содержимого |
---|---|---|
resort | Common, href (CDATA) | description, Aspen+ |
lodge | Common | description, (Aspen - lift)+ |
lift | Common, href | description? |
chalet | Common, href | description? |
room | Common, href | description? |
lobby | Common, href | description? |
fireplace | Common, href | description? |
description | Common | PCDATA* |
Этот модуль определяет также набор содержимого Aspen с моделью минимального содержимого lodge | lift | chalet | room | lobby | fireplace.