DTD元素:文本和元素之间的替代

时间:2016-12-13 11:35:32

标签: xml element dtd pcdata

我想为我的xml文档定义一个dtd。

在这个dtd中,我有一个名为

的元素
p

。 p可以包含#PCDATA或其他元素(img)。我怎么声明这个?我试过这个:

<!ELEMENT p (#PCDATA | img)>
<!ELEMENT img EMPTY>

但这并不奏效。回复错误:错误:&#39;&gt;&#39;是一个意外的令牌。预期的令牌是&#39; *&#39;。 当我尝试这个时:

<!ELEMENT p ((#PCDATA) | img)>
<!ELEMENT img EMPTY>

发生错误:错误:名称不能以&#39;#&#39;开头字符,十六进制值0x23。

如何实现p包含文本或其他元素img?两个选项都有效,这是必要的。必须实施两个选项之一。

<p>some text</p>

<p><img src='...' /></p>

问候!

1 个答案:

答案 0 :(得分:0)

混合内容模型必须具有零或更多的出现约束。

<!ELEMENT p (#PCDATA | img)*>