【发布时间】:2018-01-23 00:39:44
【问题描述】:
我们可以像这样在 DTD 中声明一个元素吗:
<!ELEMENT name (EMPTY | (#PCDATA))>
谢谢
【问题讨论】:
我们可以像这样在 DTD 中声明一个元素吗:
<!ELEMENT name (EMPTY | (#PCDATA))>
谢谢
【问题讨论】:
如果您尝试声明一个为空或可能包含字符数据(文本)的元素,那么不,您不能声明这样的元素。
参见specs中的“contentspec”:
[46] contentspec ::= 'EMPTY' | 'ANY' | Mixed | children
你可以像这样声明一个元素:
<!ELEMENT name (#PCDATA|EMPTY)*>
但这就是说name 包含mixed content(字符数据和子元素)。在这种情况下,可能的子元素是名为 EMPTY 的元素。
你应该像这样声明元素:
<!ELEMENT name (#PCDATA)>
这将允许name 包含字符数据或为空。
例如,以下name 元素都是有效的:
<name></name>
<name/>
<name>balimaco00</name>
【讨论】: