0
我试图完成以下元素声明: XML元素可能由文本或/和元素组成,但它必须至少包含其中之一。具有至少一个元素/类型的XML混合内容模型
如果我做的:
<!ELEMENT myelem (#PCDATA|myanotherelem)*>
这意味着myelem可能仍然是空的。我想用
(#PCDATA|myanotherelem)+
的,但混合内容模式应该是从零开始的。我如何处理它?
我试图完成以下元素声明: XML元素可能由文本或/和元素组成,但它必须至少包含其中之一。具有至少一个元素/类型的XML混合内容模型
如果我做的:
<!ELEMENT myelem (#PCDATA|myanotherelem)*>
这意味着myelem可能仍然是空的。我想用
(#PCDATA|myanotherelem)+
的,但混合内容模式应该是从零开始的。我如何处理它?
对于某些数字元素(零个或多个)a,b,... z,XML DTD中内容模型的唯一合法形式是(#PCDATA)
和(#PCDATA | a | b | ... | z)*
。
请注意,<myelem></myelem>
形式的元素事实上被XML规范视为具有#PCDATA内容 - 您想要指定非零长度的#PCDATA内容并非完全不合理,但这不是实际上关键字#PCDATA
的含义是什么。您希望施加的约束(对于#PCDATA内容的最小长度 - 也许您还希望要求它不仅仅由空白字符组成)也不能用DTD表示法表示。这是其他模式语言(例如,XSD和Relax NG)通过数据类型添加的内容之一。
谢谢,你已经明确告诉我了。 – NullPointerException