DTDDTD (англ. Document Type Definition — определение типа документа) — аббревиатура для обозначения следующих двух понятий:
Из-за определённых различий между XML и SGML применение DTD также имеет некоторые особенности в зависимости от целевого документа. Сейчас идёт отказ от использования DTD в XML-технологии по ряду причин[1]:
На смену DTD пришёл стандарт XML Schema консорциума W3C. Описание схемы документаDTD описывает схему документа для конкретного языка разметки посредством набора объявлений [объектов-параметров, элементов и атрибутов элементов], которые описывают его класс (или тип) с точки зрения синтаксических ограничений этого документа. Также DTD может объявлять конструкции, которые всегда необходимы для определения структуры документа, но, зато, могут влиять на интерпретацию определённых документов. Объявление объектов-параметровОбъявление объекта-параметра определяет макрос определённого типа, на который можно ссылаться и который может быть развернут где-нибудь в DTD. Эти макросы могут не появляться в самом документе, а быть только в DTD. Если на объект-параметр ссылаются по имени их DTD, то он разворачивается в строку, в которой указано содержимое этого объекта. Примеры: <!ENTITY % fontstyle "TT | I | B | BIG | SMALL">
Объект-параметр <!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
Объект-параметр Объявление элементовОбъявления элементов определяют (задают) набор разрешённых названий элементов в документе, тип содержимого для каждого элемента и обязательность/необязательность тегов. Различные ключевые слова и символы определяют содержимое элемента:
Примеры: <!ELEMENT DL - - (DT|DD)+>
Элемент <!ELEMENT FORM - - (%block;|SCRIPT)+ -(FORM)>
Элемент Объявление атрибутов элементовКаждому элементу DTD-документа можно назначить список атрибутов. Для этого используется директива Например: <!ATTLIST MAP name CDATA #REQUIRED>
В этом примере для элемента Существующие типы атрибутов:
Существуют такие свойства по умолчанию:
Связь документа с определённым DTDЧтобы связать документ с определённым DTD, необходимо в начале текста документа указать элемент Объявление Типа Документа. В зависимости от места расположения DTD Объявление Типа Документа может быть двух видов:
Набор объявлений DTD содержится в самом тексте документа. Например: <!DOCTYPE foo [ <!ENTITY greeting "helloworld"> ]>
<!DOCTYPE bar [ <!ENTITY greeting "helloworld"> ]>
Набор объявлений DTD располагается в отдельном текстовом файле с расширением .dtd В этом случае ссылку на файл можно сделать через публичный идентификатор и (или) через системный идентификатор. Например: <!-- Валидация простого HTML 4.01 -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
ПримерПример очень простого XML DTD, описывающего список людей: <!ELEMENT people_list (person*)>
<!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)>
<!ELEMENT name (#PCDATA) >
<!ELEMENT birthdate (#PCDATA) >
<!ELEMENT gender (#PCDATA) >
<!ELEMENT socialsecuritynumber (#PCDATA) >
Начиная с первой строки:
Пример XML-документа, использующего этот DTD: <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE people_list SYSTEM "example.dtd">
<people_list>
<person>
<name>
Fred Bloggs
</name>
<birthdate>
27/11/2008
</birthdate>
<gender>
Male
</gender>
<socialsecuritynumber>
1234567890
</socialsecuritynumber>
</person>
</people_list>
См. такжеПримечания
|
Portal di Ensiklopedia Dunia