Определение атрибутов элемента
Список атрибутов некоторого элемента задается следующим образом:
<!ATTLIST элемент
атрибут-1 тип-1 значение-1
атрибут-2 тип-2 значение-2...
>
В этом определении параметр элемент задает имя элемента, для которого определяется данный список атрибутов, атрибут-i – имя i-го атрибута, тип-i – тип i-го атрибута и значение-i – значение i-го атрибута.
Параметр значение-i определяет, как и какие значения должны быть присвоены атрибуту. Параметр может принимать одно из следующих значений:
· ключевое слово #REQUIRED, которое показывает, что этот атрибут должен всегда присутствовать в элементе и иметь некоторое значение;
· ключевое слово #IMPLIED, которое показывает, что атрибут является необязательным и может отсутствовать в элементе;
· ключевое слово #FIXED, за которым следует значение, заключенное в кавычки (задает атрибут, который всегда должен иметь одно и то же фиксированное значение);
· значение, заключенное в кавычки, которое определяет значение атрибута по умолчанию.
Параметр тип-i определяет тип атрибута. В XML существуют три различных типа атрибутов:
· строковые атрибуты (String Type);
· маркированные атрибуты (Tokenized Type);
· перечислимые атрибуты (Enumerated Type).
Строковые атрибуты (тип CDATA) могут принимать в качестве значения любые символьные строки.
Маркированные атрибуты имеют один из следующих фиксированных значений типов:
· ID – уникальный идентификатор для элемента в документе. Значение ID должно состоять из имени – буквы или символа подчеркивания, за которыми могут следовать другие символы;
· IDREF – указывает на элемент с заданным значением ID;
· IDREFS – указывает на два и более элемента в документе при помощи списка ID, в котором элементы списка отделены друг от друга пробелами;
· ENTITY – указывает на внешнюю сущность (значение должно состоять из имени, а также должно соответствовать имени внешней сущности);
· ENTITIES – указывает на две и более внешних сущностей при помощи списка сущностей, в котором элементы списка отделены друг от друга пробелами;
· NMTOKEN – принимает значение имени (в отличие от значений типа CDATA, которые могут содержать любые символы, значения NMTOKEN могут содержать только буквы, цифры, а также ".", "-", "_" и ":");
· NMTOKENS – принимает значение двух или более имен, разделенных пробелами.
Атрибуты перечислимого типа представляются списком значений. Атрибуты могут принимать одно значение из списка значений, предоставляемых в объявлении. Тип перечисления может задаваться нотациями (notation type) и собственно перечислениями (enumeration). Перечисление – это одно или несколько имен, которые разделены пробелами и символами "|". Перечисление задает несколько возможных вариантов значения атрибута. Хотя в качестве значения можно использовать ключевые слова #IMPLIED или #REQUIRED, обычно используется значение по умолчанию.
Специальный атрибут, называемый xml:space, может быть присоединён к элементу для того, чтобы уведомить процессор о намерении сохранить пробел в данном элементе для использования приложением. Если данный атрибут объявляется, он должен быть задан как перечислимый тип, значениями которого могут быть либо "default" или "preserve", либо одно из значений.
Значение "default" указывает, что для данного элемента принимаются режимы обработки по умолчанию пробелов в данном приложении, а значение "preserve" задает режим сохранения в приложении всех пробелов. Это определение действует для всех элементов внутри содержимого элемента, для которого оно задано, если только оно не переопределяется другим экземпляром атрибута xml:space. Обычно атрибут xml:space указывается, если необходимо сохранить исходное форматирование документа, например, при выводе программы или стихов.
При обработке документа также часто используется идентификация естественного или формального языка, на котором написано содержимое. Для определения языка содержимого элемента и языка значений атрибутов в элемент документа может быть вставлен специальный атрибут xml:lang. Значением атрибута являются коды языков, например, uk, ru, en, en-US или en-GB. документ, чтобы специфицировать язык, используемый в содержимом и значениях атрибутов любого элемента в документе XML. В правильных документах этот атрибут, как и некоторые другие, обязан быть объявлен, если используется.
Дата добавления: 2015-04-05; просмотров: 838;