Основы Internet-технологий для математиков. Введение в XML. Махортов С.Д. - 13 стр.

UptoLike

Составители: 

13
2.4.3. Объявление атрибутов
В действительном XML-документе необходимо также исчерпывающе объявить
все атрибуты , используемые для элементов документа . Для этого существует
специальный вид DTD-разметки , называемый объявлением списка атрибутов.
Это объявление:
Определяет имена атрибутов, ассоциированных с элементом.
Устанавливает тип данных каждого атрибута .
Задает необходимость присутствия каждого атрибута . Если атрибут не
обязателен, может указываться значение атрибута по умолчанию.
Объявление списка атрибутов имеет общий вид <!ATTLIST ИмяЭлемента
Атрибуты >, где ИмяЭлемента имя элемента , для которого описываются
атрибуты , Атрибуты одно или несколько определений атрибута , разделенных
пробелом. Каждое определение атрибута записывается в виде
ИмяАтрибута Тип ЗначениеПоУмолчанию,
где ИмяАтрибута имя описываемого атрибута , Тип описание типа значений,
которые может принимать атрибут, ЗначениеПоУмолчанию объявление
значения по умолчанию, которое определяет необходимость присутствия
атрибута и может задавать значение, автоматически присваиваемое ему при его
отсутствии. Пусть, например, есть следующее объявление типа элемента :
<!ELEMENT Film (Title, (Star | Narrator | Instructor) )>.
Следующее объявление описывает два атрибута Class и Year для элемента
Фильм :
<!ATTLIST Film Class CDATA комедия” Year CDATA #REQUIRED>.
Значением атрибута Class может быть любая строка в кавычках (ключевое слово
CDATA); если для некоторого элемента этот атрибут не задан, ему по умолчанию
присваивается значение комедия”. Атрибут Yaer в качестве значения может
принимать любую строку в кавычках и этот атрибут всегда должен быть задан
(ключевое слово #REQUIRED).
Тип атрибута в общем случае может задаваться следующими 3 способами .
Строковый тип. Атрибуту этого типа в качестве значения можно
присваивать любую строку в кавычках (литерал), правила построения
которых рассматривались в п. 2.2.
Маркерный тип. Это строковый тип с некоторыми дополнительными
ограничениями .
Перечислимый тип. Это атрибут, который может принимать строковое
значение из составленного заранее списка .
Рассмотрим более подробно последние два типа .
Значение маркерного типа должно удовлетворять ограничению, заданному в
описании атрибута с помощью соответствующего ключевого слова . Ниже
приводится полный список этих ключевых слов.
                                          13
                            2.4.3. Объявление атрибутов

   В действительном XML-документе необходимо также исчерпывающе объявить
все атрибуты, используемые для элементов документа. Для этого существует
специальный вид DTD-разметки, называемый объявлением списка атрибутов.
Это объявление:
   • Определяет имена атрибутов, ассоциированных с элементом.
   • Устанавливает тип данных каждого атрибута.
   • Задает необходимость присутствия каждого атрибута. Если атрибут не
      обязателен, может указываться значение атрибута по умолчанию.
   Объявление списка атрибутов имеет общий вид , где ИмяЭлемента – имя элемента, для которого описываются
атрибуты, Атрибуты – одно или несколько определений атрибута, разделенных
пробелом. Каждое определение атрибута записывается в виде
  ИмяАтрибута Тип ЗначениеПоУмолчанию,
где ИмяАтрибута – имя описываемого атрибута, Тип – описание типа значений,
которые может принимать атрибут, ЗначениеПоУмолчанию – объявление
значения по умолчанию, которое определяет необходимость присутствия
атрибута и может задавать значение, автоматически присваиваемое ему при его
отсутствии. Пусть, например, есть следующее объявление типа элемента:

 .

Следующее объявление описывает два атрибута – Class и Year – для элемента
Фильм:

 .

Значением атрибута Class может быть любая строка в кавычках (ключевое слово
CDATA); если для некоторого элемента этот атрибут не задан, ему по умолчанию
присваивается значение “комедия”. Атрибут Yaer в качестве значения может
принимать любую строку в кавычках и этот атрибут всегда должен быть задан
(ключевое слово #REQUIRED).
   Тип атрибута в общем случае может задаваться следующими 3 способами.
   • Строковый тип. Атрибуту этого типа в качестве значения можно
      присваивать любую строку в кавычках (литерал), правила построения
      которых рассматривались в п. 2.2.
   • Маркерный тип. Это строковый тип с некоторыми дополнительными
      ограничениями.
   • Перечислимый тип. Это атрибут, который может принимать строковое
      значение из составленного заранее списка.
   Рассмотрим более подробно последние два типа.
   Значение маркерного типа должно удовлетворять ограничению, заданному в
описании атрибута с помощью соответствующего ключевого слова. Ниже
приводится полный список этих ключевых слов.