DTD XML

Грамматически правильный XML-документ называется «хороший формат».

XML-документы, проверенные по DTD, как «хороший формат», так и «валидны».

Что такое DTD?

DTD представляет собой определение типа документа (Document Type Definition).

DTD определяет структуру XML-документа и легитимные элементы и атрибуты.

Валидный XML-документ

Валидный XML-документ как «хороший формат», так и соответствует правилам DTD:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "Note.dtd">
<note>
<to>George</to>
<from>John</from>
<heading>Памятка</heading>
<body>Не забудьте о встрече!</body>
</note>

upper DOCTYPE declaration contains a reference to the DTD file. Below is shown and explained the content of the DTD file.

DTD XML

Цель DTD - определить структуру XML-документа и легитимные элементы и атрибуты:

Note.dtd:

<!DOCTYPE note
[
<!ELEMENT note (to,from,heading,body)>
<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>

Интерпретация上面的 DTD如下:

!DOCTYPE note - определить корневым элементом документа note
!ELEMENT note - определить, что элемент note должен содержать следующие элементы: "to, from, heading, body"
!ELEMENT to - определить элемент to как "#PCDATA" типа
!ELEMENT from - определить элемент from как "#PCDATA" типа
!ELEMENT heading - определить элемент heading как "#PCDATA" типа
!ELEMENT body - определить элемент body как "#PCDATA" типа

Совет:#PCDATA означает распознаваемые字符ные данные (parseable character data).

Использование DTD для декларации элементов

Декларация DOCTYPE может также использоваться для определения специальных символов или строк, используемых в документе:

Пример

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note [
<!ENTITY nbsp " ;">
<!ENTITY writer "Writer: Bill Gates.">
<!ENTITY copyright "Copyright: CodeW3C.com.">
]>
<note>
<to>George</to>
<from>John</from>
<heading>Памятка</heading>
<body>Не забудьте о встрече!</body>
<footer>&writer; ©right;</footer>
</note>

Совет:Элементы аналогичны трем частям: начинаются с знака & (ampersand), затем следует имя элемента, и заканчиваются точкой с запятой (;).

Когда использовать DTD?

С DTD независимые группы могут прийти к соглашению о стандартах обмена данными.

Используя DTD, вы можете проверить, являются ли данные, полученные из внешнего источника, действительными.

Вы также можете использовать DTD для проверки своих данных.

Если вы хотите изучить DTD, пожалуйста, читайте наши Учебник по DTD.

Когда не использовать DTD?

DTD для XML не является необходимым.

Если вы тестируете XML или используете очень маленькие файлы XML, создание DTD может быть пустой тратой времени.

Если вы разрабатываете приложение, подождите с добавлением DTD до тех пор, пока стандарт не станет стабильным. В противном случае, ваше программное обеспечение может прекратить работу из-за ошибок в проверке.