我有一个带有以下元素定义的DTD
<!ELEMENT a EMPTY>
<!ELEMENT b EMPTY>
以下XML是否基于此DTD有效:
<a><b></b></a>
答案 0 :(得分:3)
不,那不会有效。空元素不能包含任何子元素。这包括以下类型的节点:文本,元素,注释和处理指令。如果定义了元素,则元素可以具有属性。
如果您在EMPTY
声明中将ANY
更改为b
或a
,则有效:
<!DOCTYPE a [
<!ELEMENT a ANY>
<!ELEMENT b EMPTY>
]>
<a><b></b></a>