3
是否可以在內部定義哪個元素是DTD中的根元素。換句話說,當DTD在單獨的文件中時,是否可以定義根元素?DTD根元素
是否可以在內部定義哪個元素是DTD中的根元素。換句話說,當DTD在單獨的文件中時,是否可以定義根元素?DTD根元素
根元素由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文件相關聯。
當你說「內部」,你的意思是在一個不包含DTD的文件中? – LarsH
通常你在一個單獨的文件中寫入一個dtd,並且在你寫入xml文檔(另一個文件)之前,你會說<!DOCTYPE「root-element」「dtd-url」>「。我的問題是:是否有另一種方式指定dtd文件中的根元素? – temelm
不,沒有 – StaxMan