通过XSD限制混合XML内容?

问题描述:

我有一个XML结构是这样通过XSD限制混合XML内容?

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

,我想打一个XSD吧。如果“Main”后面没有“1”,“Sub”后面没有“2”,“Function”后面没有“0”,我知道如何做到这一点。但如果有的话,我真的不知道该怎么做。

任何人都可以帮我添加一个限制到这个XML?数字不应大于1000.

非常感谢!

这是一个糟糕的XML设计。如果您想约束这些数字,请将它们放入它们自己的元素或属性中。如你所知,你可以使用混合内容声明,但是你将失去约束混合文本的能力,这就是这种情况下的数字。

您可能会对混合内容的父元素的字符串值或文本节点提出一个断言(尽管XSD 1.1是必需的),但这会很混乱。如果添加数字约束对您很重要,请更改设计。

+0

非常感谢!这非常有帮助! –