Типы атрибутов
Все типы XML атрибутов делятся на три класса: строковый тип, набор символьных (tokenized) типов и перечислимые (enumerated) типы. Строковый тип может иметь в качестве значения одну строку. Символьные типы содержат различные лексические и семантические ограничения. Ограничения действительности, обсуждаемые в данной грамматике, начинают действовать после того, как значение атрибута было нормализовано в соответствии с описанием в главе .
[54] | AttType | ::= | | | | |
[55] | StringType | ::= | 'CDATA' | |
[56] | TokenizedType | ::= | 'ID' | |
| 'IDREF' | ||||
| 'IDREFS' | ||||
| 'ENTITY' | ||||
| 'ENTITIES' | ||||
| 'NMTOKEN' | ||||
| 'NMTOKENS' |
Ограничение действительности: ID
Значения типа ID должны соответствовать сценарию для . Имя, соответствующее значению этого типа, должно появляться в XML документе не более одного раза. Иными словами, значения ID должны уникальным образом идентифицировать элементы, в которых они находятся.
Ограничение действительности: Один ID для каждого типа элементов
Любой тип элемента не может иметь более одного атрибута ID.
Ограничение действительности: Значение по умолчанию для атрибута ID
Для атрибута ID должно быть декларировано значение по умолчанию #IMPLIED или #REQUIRED.
Ограничение действительности: IDREF
Значения типа IDREF должны соответствовать сценарию , а значения типа IDREFS должны соответствовать . При этом каждое должно соответствовать значению атрибута ID в каком-либо элементе XML документа, то есть, значение IDREF должно соответствовать значению какого-либо из атрибутов ID.
Ограничение действительности: Имя сущности
Значения типа ENTITY должны соответствовать сценарию , значения типа ENTITIES должны соответствовать . Каждое при этом должно соответствовать названию одной из , декларированных в .
Ограничение действительности: Лексема имени
Значения типа NMTOKEN должны соответствовать сценарию , значения типа NMTOKENS должны соответствовать .
[Определение: Перечислимый атрибут может выбирать одно значение из перечня, предоставленного в декларации]. Существует два вида перечислимых типов: