是否可以在内部定义哪个元素将成为DTD中的根元素。换句话说,当DTD位于单独的文件中时,是否可以定义根元素?
答案 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文件相关联。