通过XSD限制混合XML内容?

时间:2017-04-07 10:07:49

标签: xml xsd xsd-validation xml-validation

我有像这样的xml结构

<Main>1
  <Sub>2
    <Property>red</Property>
    <Function>0
      <Parameter>234</Parameter>
    </Function>
  </Sub>
</Main>

我想为它制作一个xsd。如果没有&#34; 1&#34;我知道怎么做&#34; Main&#34;,no&#34; 2&#34;背后&#34; Sub&#34;没有&#34; 0&#34;背后&#34;功能&#34;。但如果有的话,我真的不知道如何去做。

有人可以帮我添加这个xml的限制吗?数字不应大于1000。

非常感谢!

1 个答案:

答案 0 :(得分:1)

这是一个糟糕的XML设计。如果要约束这些数字,请将它们放入自己的元素或属性中。

如你所知,你可以使用混合内容声明,但是你将失去约束混合文本的能力,这就是那种情况下的数字。

您可能能够在混合内容的父元素的字符串值或文本节点上提出断言(但需要XSD 1.1),但这样做很麻烦。如果添加数字约束对您很重要,请更改设计。