DTD
Перейти к навигации
Перейти к поиску
DTD (англ. Document Type Definition, «определение типа документа») — язык описания структуры SGML- (и в частности XML)-документа.
Сейчас идет отказ от формата по ряду причин:
- Во-первых, он использует отличный от XML синтаксис.
- Во-вторых, отсутствие типизации узлов.
На смену DTD пришел стандарт консорциума W3C XML Schema.
Пример[править | править код]
Пример очень простого XML DTD, описывающего список людей:
<!ELEMENT people_list (person*)> <!ELEMENT person (name, birthdate?, gender?, socialsecuritynumber?)> <!ELEMENT name (#PCDATA) > <!ELEMENT birthdate (#PCDATA) > <!ELEMENT gender (#PCDATA) > <!ELEMENT socialsecuritynumber (#PCDATA) >
Начиная с первой строки:
- Элемент <people_list> элемент содержит любое число элементов <person> . Знак <*> означает что возможно 0, 1 или более элементов <person> внутри элемента <people_list>.
- Элемент <person> содержит элементы <name>, <birthdate>, <gender> и <socialsecuritynumber>. Знак <?> означает что элемент необязателен. Элемент <name> не содержит <?>, что означает что элемент <person> обязательно должен содержать элемент <name>.
- Элемент <name> содержит данные.
- Элемент <birthdate> содержит данные.
- Элемент <gender> содержит данные.
- Элемент <socialsecuritynumber> содержит данные.
Пример XML-файла использующего этот DTD:
<code-xml>
<?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> </person> </people_list>
</code-xml>
По крайней мере часть этого текста взята с ресурса http://lib.custis.ru/ под лицензией GDFL.Список авторов доступен на этом ресурсе в статье под тем же названием.