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

DTD Element: Alternative between text and element

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

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

的元素
p

。 p 可以包含#PCDATA 或另一个元素(img)。我该如何声明?我试过这个:

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

但这不起作用。响应错误:错误:“>”是意外​​标记。预期的标记是“*”。 当我尝试这个时:

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

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

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

<p>some text</p>

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

您好!

混合内容模型的出现约束必须为零个或多个。

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