Что означает DOCTYPE в XML-файле? - PullRequest
4 голосов
/ 27 мая 2011

В спящем режиме мы используем конфигурационные и картографические XML-файлы.В xml первая строка будет версией, а затем мы указываем строку DOCTYPE DTD.Пример:

<!DOCTYPE hibernate-mapping PUBLIC  "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

Кто-нибудь может объяснить, в чем смысл этого?Я знаю, что DTD - это определение типа документа, которое похоже на определение грамматики для xml.

Я хочу знать атрибуты в этом утверждении.

Ответы [ 2 ]

6 голосов
/ 27 мая 2011

Строка, на которую вы ссылаетесь, является декларацией типа документа .

Это задокументировано в Рекомендации W3C по XML здесь: http://www.w3.org/TR/xml/#dt-doctype

Указывает DTD, который должен использоваться при обработке документа. Два механизма доступны для указания этого

  1. необязательный ПУБЛИЧНЫЙ идентификатор (редко это дней), что в вашем примере " - // Hibernate / Hibernate Mapping DTD 3.0 // EN ". Механизм, с помощью которого это разрешается в ресурс DTD зависит от приложения.

  2. СИСТЕМА идентификатор, который в вашем примере «http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd". Это обычно интерпретируется как URL откуда DTD может быть получен.

2 голосов
/ 27 мая 2011

Doctype описывает, какой DTD следует XML-файлу.

Это:

  1. Описывает, какие элементы разрешены внутри каких других элементов (для проверки)
  2. Описывает доступные именованные символьные ссылки (помимо 5 встроенных XML-кодов &amp;, &lt;, &gt;, &apos; и &quot;).
...