DTD - атрибуты
- Предыдущая страница Элементы DTD
- Следующая страница Сравнение свойств элементов DTD
В DTD атрибуты объявляются с помощью оператора ATTLIST.
Объявление атрибутов
Использование синтаксиса для объявления атрибутов:
<!ATTLIST элемент имя атрибута тип атрибута значение по умолчанию>
Пример DTD:
<!ATTLIST payment type CDATA "check">
Пример XML:
<payment type="check" />
Ниже приведеныТип атрибутаВозможные варианты:
Тип | Описание |
---|---|
CDATA | Значение должно быть данными символов (character data) |
(en1|en2|..) | Это значение является одним из значений в списке枚举 |
ID | Значение уникального идентификатора |
IDREF | Значение идентификатора другого элемента |
IDREFS | Список значений других идентификаторов |
NMTOKEN | Значение должно быть легальным XML именем |
NMTOKENS | Значение - это список合法ных имен XML |
ENTITY | Значение - это entidad |
ENTITIES | Значение - это список entidad |
NOTATION | Это имя символа |
xml: | Значение - это предопределенное значение XML |
Параметры значения по умолчанию могут принимать следующие значения:
Значение | Объяснение |
---|---|
Значение | Значение по умолчанию свойства |
#REQUIRED | Значение свойства обязательно |
#IMPLIED | Свойство не обязательно |
#FIXED value | Значение свойства фиксировано |
Определение значения по умолчанию для свойства
DTD:
!ELEMENT square EMPTY> !ATTLIST square width CDATA "0">
Правильный XML:
<square width="100" />
В приведенном выше примере, "square" определено как пустой элемент с типом свойств CDATA для свойства "width". Если ширина не установлена, значение по умолчанию равно 0.
#IMPLIED
Грамматика
!ATTLIST элемент имя_свойства тип_свойства #IMPLIED>
Пример
DTD:
!ATTLIST contact fax CDATA #IMPLIED>
Правильный XML:
<contact fax="555-667788" />
Правильный XML:
<contact />
Если вы не хотите принудить автора включать свойство и у вас нет опции значения по умолчанию, используйте ключевое слово #IMPLIED.
#REQUIRED
Грамматика
!ATTLIST элемент имя_свойства тип_свойства #REQUIRED>
Пример
DTD:
!ATTLIST person number CDATA #REQUIRED>
Правильный XML:
<person number="5677" />
Неправильный XML:
<person />
Если у вас нет опции значения по умолчанию, но вы все равно хотите принудить автора предоставить свойство, используйте ключевое слово #REQUIRED.
#FIXED
Грамматика
!ATTLIST элемент имя_свойства тип_свойства #FIXED "value">
Пример
DTD:
!ATTLIST sender company CDATA #FIXED "Microsoft">
Правильный XML:
<sender company="Microsoft" />
Неправильный XML:
<sender company="W3School" />
Если вы хотите, чтобы свойство имело фиксированное значение и не позволяло автору изменить его, используйте ключевое слово #FIXED. Если автор использует другое значение, XML-анализатор вернет ошибку.
Перечисление значений свойств
Грамматика:
!ATTLIST 元素名称 属性名称 (en1|en2|..) 默认值>
Пример DTD:
<!ATTLIST payment type (check|cash) "cash">
Пример XML:
<payment type="check" />
или
<payment type="cash" />
Если значение атрибута должно быть одним из фиксированных законных значений из списка, используйте перечисленные значения атрибутов.
- Предыдущая страница Элементы DTD
- Следующая страница Сравнение свойств элементов DTD