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 | Значение является списком entidades |
NOTATION | Это имя символа |
xml: | Значение является предопределенным значением XML |
Параметры значения по умолчанию могут быть следующими:
Значение | Объяснение |
---|---|
Значение | Значение по умолчанию атрибута |
#REQUIRED | Значение атрибута обязательно |
#IMPLIED | Атрибут не обязателен |
#FIXED value | Значение атрибута фиксировано |
Определение значения по умолчанию для атрибута
DTD:
!ELEMENT square EMPTY !ATTLIST square width CDATA "0"
Правильный XML:
<square width="100" />
В предыдущем примере "square" определен как пустой элемент с атрибутом "width" типа CDATA. Если ширина не установлена, значение по умолчанию составляет 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 "значение">
Пример
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 сущности