【问题标题】:XML Mixed Content Model with at least one element/type具有至少一种元素/类型的 XML 混合内容模型
【发布时间】:2013-01-21 11:25:46
【问题描述】:

我正在尝试完成以下元素声明: XML 元素可能包含一个文本或/和一个元素,但它必须至少包含其中一个。

如果我这样做:

<!ELEMENT myelem (#PCDATA|myanotherelem)*>

这意味着骨髓可能仍然是空的。我想过使用

(#PCDATA|myanotherelem)+

但混合内容模型应该从零开始。我该如何处理?

【问题讨论】:

    标签: xml dtd


    【解决方案1】:

    XML DTD 中内容模型的唯一合法形式是 (#PCDATA)(#PCDATA | a | b | ... | z)* 对于某些数字元素(零或多个)a、b、...z。

    请注意,&lt;myelem&gt;&lt;/myelem&gt; 形式的元素实际上被 XML 规范视为具有 #PCDATA 内容——您想要指定非零长度的 #PCDATA 内容并非不合理,但那是实际上不是关键字#PCDATA 的含义。您要强加的约束(#PCDATA 内容的最小长度 - 可能您也可能希望它不只包含空白字符)不能用 DTD 表示法表示。这是其他模式语言(例如 XSD 和 Relax NG)通过数据类型添加的内容之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多