ID, IDREF, idrefs

Типы значений атрибутов

Атрибуты

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

В проверку документа с помощью DTD на состоятельность проводится контроль атрибутов.

Для объявления списка атрибутов элемента в определениях DTD используется инструкция <!ATTLIST>. Декларация ATTLIST состоит из:

а) ключевого слова ATTLIST,

б) имени элемента, для которого определяется список атрибутов,

в) ноля или более определений атрибутов.

Для простоты чтения определение каждого атрибута располагают в отдельной строке. Определение атрибута состоит из трех частей:

1. имени атрибута, которое выбирается по тем же правилам, что и имена элементов,

2. типа принимаемых атрибутом значений,

3. наличия значения по умолчанию и, если оно есть, и декларации его типа.

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

Параметры атрибута по умолчанию Значение
#REQUIRED Атрибут обязательный, он должен быть включен в каждый экземпляр элемента, поэтому значение по умолчанию не требуется
#IMPLIED Значение по умолчанию не предполагается
#FIXED +значение Атрибут всегда должен принимать указанное значение.
Значение в кавычках Задается значение атрибута по умолчанию
Примером атрибута с фиксированным значением является html-атрибут checked. Если он имеется, то всегда имеет одно и то же значение: checked="checked".Если задается значение по умолчанию, то оно указывается в кавычках в конце описания атрибута. <!ELEMENT myElement EMPTY> <! ATTLIST myElementname ID #IMPLIEDatt2 CDATA #FIXED "A"

att3 CDATA #REQUIRED

is_printable (yes|no) "yes"

>

В XML используется три типа значений атрибутов: строковые, маркирующие (tokenized) и перечислимые (enumerated).

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

1. Неанализируемые символьные данные CDATA

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

В XML существует механизм для определения внутренних ссылок между элементами. Метками, на которые указывают ссылки, являются атрибуты ID элементов.

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

Для создания ссылок на фрагменты документа используются атрибуты типа IDREF. Значение атрибута IDREF (это id какого-то другого элемента) должно совпадать со значением ID некоторого элемента из данного документа.

Можно связать один элемент с несколькими другими (моделировать отношения "один-ко-многим"). Это делается с помощью атрибута IDREFS, значениями которого являются последовательности значений ID, разделенные пробельными символами.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: