DTD

advertisement
DTD
Document Type Definition
суббота, 7 мая 2016 г.
Требования к приложениям XML
описывать структуру документа, желательно строго и
формально
передавать информацию о структуре документа
сторонним лицам и приложениям
проверять наличие необходимых элементов
отслеживать появление неразрешимых элементов в
документе
отслеживать содержание элементов и атрибутов
контролировать древовидность структуры документа
если у атрибута значение не указано, подставлять
значение по умолчанию
Действительные документы XML
Действительным (valid) документом XML называется
формально корректный документ, который отвечает
правилам синтаксиса и структуры. Действительный
документы также часто называют допустимыми.
Нужны технологии описания синтаксиса и
структуры документов XML
DTD
Document Type Definition
(определение типа документа) –
специальный язык, позволяющий
описывать структуру и синтаксис XMLдокументов и накладывать простейшие
ограничения
DTD в документе XML
<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE root
[
<!-- Определения DTD -->
]>
<root>
<!-- XML-содержимое -->
</root>
Содержимое DTD
Объявления типов элементов
Объявления списков атрибутов
Объявления примитивов
Объявления нотаций
Инструкции по обработке
Ссылки на примитивы
Объявления типов элементов
<!ELEMENT имя_элемента описание_содержимого>
Описание содержимого:
Пустое содержимое (EMPTY)
Любое содержимое (ANY)
Дочернее содержимое
Смешанное содержимое
Задание содержимого элемента
<!ELEMENT root (book)>
Множественные дочерние элементы:
a+
Одно или большее количество вхождений элемента а
a*
Нуль или большее количество вхождений элемента а
a?
Нуль или одно вхождение элемента а
a,b
После элемента а следует элемент b
a|b
Элементы a или b, но не оба сразу
(expression)
Выражение
<!ELEMENT root (book)*>
Задание содержимого элемента
<?xml version=“1.0” encoding=“UTF-8”?>
<!DOCTYPE root
[
<!ELEMENT root (book)*>
<!ELEMENT book (title, (author|authors))>
<!ELEMENT authors (author)+>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
]>
<root>
<!– XML-содержимое -->
</root>
Объявления атрибутов
<!ATTLIST имя_элемента определения_атрбутов>
Определение атрибута:
имя_атрибута тип_атрибута объявление_по_умолчанию
Типы атрибутов
Строковый (ключевое слово CDATA)
Маркерный
Перечислимый
<!ATTLIST book year CDATA #REQUIRED>
Маркерный тип
ID
IDREF
IDREFS
ENTITY
ENTITIES
NMTOKEN
NMTOKENS
Перечислимые типы
<!ATTLIST book
genre
(computer, biography, fiction)
computer>
Значения по умолчанию
#REQUIRED
#IMPLIED
AttValue
#FIXED AttValue
Внешние DTD
<!DOCTYPE root [DTD]>
<!DOCTYPE root SYSTEM URL>
<!DOCTYPE root SYSTEM URL [DTD]>
<!DOCTYPE root PUBLIC FPI URL>
<!DOCTYPE root PUBLIC FPI URL [DTD]>
FPI – Formal Public Identifier
Download