Основы XML




Задание маркерного типа


Как и любое значение атрибута, значение, которое вы присваиваете маркерному типу атрибута, должно представлять собой строку в кавычках, отвечающую общим правилам, описанным в разделе "Правила для корректного задания значений атрибутов" в лекции 3.

Кроме того, значение должно отвечать определенному ограничению, которое вы задаете в описании атрибута с помощью соответствующего ключевого слова. Например, в приведенном ниже XML-документе для атрибута StockCode определен маркерный тип с использованием ключевого слова ID. (ID – это только одно из ключевых слов, которые вы можете использовать для объявления маркерного типа.) Это ключевое слово означает, что для каждого элемента атрибуту должно быть присвоено уникальное значение. (Например, присвоение товарного кода "S021" двум элементам ITEM не допускается.)

<?xml version="1.0"?> <!DOCTYPE INVENTORY [ <!ELEMENT INVENTORY (ITEM*)> <!ELEMENT ITEM (#PCDATA)> <!ATTLIST ITEM StockCode ID #REQUIRED> ] > <INVENTORY> <!-- Каждый элемент ITEM должен иметь свое значение кода StockCode --> <ITEM StockCode="S021">Peach Tea Pot</ITEM> <ITEM StockCode="S034">Electric Cofee Grinder</ITEM> <ITEM StockCode="S086">Candy Thermometer</ITEM> </INVENTORY>

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

  • ID. Для каждого элемента атрибут должен иметь уникальное значение. Значение должно начинаться с буквы или символа подчеркивания (_), за которыми могут идти или не идти другие буквы, цифры, символы точки (.), тире (–) или символы подчеркивания. Данный тип элемента может иметь только один атрибут типа ID, а в объявлении значения атрибута по умолчанию должно фигурировать #REQUIRED или #IMPLIED (см. в разделе "Объявление значения по умолчанию" далее в этой лекции). Пример этого типа атрибута содержится в приведенном выше документе INVENTORY.
  • IDREF. Значение атрибута должно совпадать со значением атрибута элемента типа ID внутри документа. Другими словами, этот тип атрибута является ссылкой на уникальный идентификатор другого атрибута. Например, вы можете добавить атрибут IDREF с именем GoesWith к элементу ITEM:




    Содержание  Назад  Вперед