Основы XML




Объявление значения по умолчанию


Объявление значения по умолчанию – это третий и последний обязательный компонент в определении атрибута. Оно задает, является ли атрибут обязательным, и если нет, указывает, что должен предпринимать процессор в случае, когда атрибут опущен (см. рис. 5.5). Так, объявление должно обеспечить значение атрибута по умолчанию, которое будет использовать процессор в том случае, если атрибут отсутствует.


Рис. 5.5. 

Объявление значения по умолчанию может иметь следующие четыре формы:

  • #REQUIRED. При этой форме вы должны задать значение атрибута для каждого элемента ассоциированного типа. Например, следующее объявление указывает, что вы должны присвоить значение атрибуту Class внутри начального тега каждого элемента FILM в документе: <!ATTLIST FILM Class CDATA #REQUIRED>

  • #IMPLIED. Эта форма указывает, что вы можете либо включить, либо опустить атрибут для элемента ассоциированного типа, а также, что если вы опускаете атрибут, то никакое значение по умолчанию процессору не передается. (Эта форма "подразумевает", а не "устанавливает" значение, позволяя приложению использовать свое собственное значение по умолчанию – т.е. имя.) Например, следующее объявление указывает, что присвоение значения атрибуту Class внутри элемента FILM является не обязательным, и что в документе не представлено значение Class по умолчанию: <!ATTLIST FILM Class CDATA #IMPLIED>

  • AttValue, где AttValue – значение атрибута по умолчанию. При такой форме вы можете либо включить, либо опустить атрибут для элемента ассоциированного типа. Если вы опускаете атрибут, процессор использует значение по умолчанию, как если бы вы включили атрибут и задали это значение.

    Задаваемое значение по умолчанию, конечно, должно соответствовать заданному типу атрибута. Например, следующее объявление присваивает значение по умолчанию "fictional" атрибуту Class:

    <!ATTLIST FILM Class CDATA "fictional">

    Согласно этому объявлению следующие два элемента эквивалентны:

    <FILM>The Graduate</FILM> <FILM Class="fictional">The Graduate</FILM>




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