
Презентации и примеры / DTD
.pdf
DTD
Document Type Definition
вторник, 5 апреля 2011 г.

Требования к приложениям 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 имя_элемента определения_атрбутов>
Определение атрибута:
имя_атрибута тип_атрибута объявление_по_умолчанию