DTD根元素

时间:2011-10-25 16:23:03

标签: xml root dtd

是否可以在内部定义哪个元素将成为DTD中的根元素。换句话说,当DTD位于单独的文件中时,是否可以定义根元素?

1 个答案:

答案 0 :(得分:5)

根元素由DOCTYPE声明确定。根元素可以是DTD中的任何元素。

例如,在下面的DTD(test.dtd)中,book通常是根元素:

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

但是,如果我们在doctype中使用section,则section是根元素:

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

我在外部DTD中使用DOCTYPE声明来直接指定根元素,但我认为规范不允许这样做。我所做的是将DOCTYPE保留在外部DTD中,并从XML文件中删除DOCTYPE。我能够将DTD与我正在使用的程序的命令行上的XML文件相关联。