Корневой элемент DTD - PullRequest
       7

Корневой элемент DTD

4 голосов
/ 25 октября 2011

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

1 Ответ

6 голосов
/ 25 октября 2011

Корневой элемент определяется объявлением DOCTYPE.Корневым элементом может быть любой элемент в DTD.

Например, в приведенном ниже DTD (test.dtd) book обычно будет корневым элементом:

<!ELEMENT book (chapter+)>
<!ELEMENT chapter (section+)>
<!ELEMENT section EMPTY>

Однако, если мы используем section в типе документа, section является корневым элементом:

<!DOCTYPE section SYSTEM "test.dtd">
<section/>

Я использовал DOCTYPE объявления во внешнем DTD для прямого указания корневого элемента, но я не думаю, что это разрешено в спецификации.Я сохранил DOCTYPE во внешнем DTD и удалил DOCTYPE из XML-файла.Мне удалось связать DTD с файлом XML в командной строке программы, которую я использовал.

...