Языки информационного обмена

       

Объявление атрибутов.


Атрибуты элемента объявляются после объявления самого элемента. Все атрибуты одного элемента объявляются сразу, одним списком. Список начинается с символов <!ATTLIST, после них через пробел следует имя элемента, к которому относятся атрибуты. Затем идет имя атрибута, его тип или список значений, которые он может принимать (все значения перечисляются через вертикальную черту, в скобках), признак обязательности присутствия атрибута в элементе или значение по умолчанию (это значение будет использовано, если атрибут не записан явно в XML документе).

Тип атрибута записывается одним из ключевых слов:

  • CDATA - строка символов.
  • ID - уникальный идентификатор, однозначно определяющий элемент, в котором встретился этот атрибут; значения такого атрибута не должны повторяться в документе. Они играют ту же роль, что и первичные ключи в таблицах баз данных.
  • IDREF - идентификатор, содержащий одно из значений атрибутов типа id, используется в качестве ссылки на другие элементы.
  • IDREFS - идентификатор, содержащий набор значений атрибутов типа id, перечисленных через пробелы; тоже используется в качестве ссылки сразу на несколько элементов.
  • ENTITY - имя непроверяемой анализатором сущности объявленных в этом же описании DTD.
  • ENTITIES - имена непроверяемых сущностей.
  • NMTOKEN - слово, содержащее только символы, применяемые в именах. Атрибуты этого типа могут содержать имена других элементов или атрибутов, например, для того чтобы ссылаться на них.
  • NMTOKENS - слова, перечисленные через пробелы.
  • NOTATION - обозначение расшифрованное в описании DTD.

Признак обязательности записывается с использование ключевых слов:

  1. #REQUIRED - атрибут надо обязательно записывать в элементе;
  2. #IMPLIED - атрибут необязателен, у него нет значения по умолчанию;
  3. #FIXED - у атрибута есть только одно значение, которое записывается тут же, через пробел.
Пример: <!ATTLIST city type (город | поселок | деревня) "город"> <!ATTLIST pre xml:lang NMTOKEN "ru_RU"> <!ATTLIST pre xml: space (default | preserve) "preserve">



Содержание раздела