【发布时间】:2012-10-25 18:22:22
【问题描述】:
我有一个具有以下元素定义的 DTD
<!ELEMENT a EMPTY>
<!ELEMENT b EMPTY>
以下 XML 基于此 DTD 是否有效:
<a><b></b></a>
【问题讨论】:
我有一个具有以下元素定义的 DTD
<!ELEMENT a EMPTY>
<!ELEMENT b EMPTY>
以下 XML 基于此 DTD 是否有效:
<a><b></b></a>
【问题讨论】:
不,那是无效的。空元素不能包含任何子元素。这包括以下类型的节点:文本、元素、注释和处理指令。如果定义了元素,则该元素可以具有属性。
如果您在 a 的声明中将 EMPTY 更改为 ANY 或 b 将有效:
<!DOCTYPE a [
<!ELEMENT a ANY>
<!ELEMENT b EMPTY>
]>
<a><b></b></a>
【讨论】: