Xml XSD:如何使用minOccurs one&;验证特定元素;所有元素可以是任意顺序&;次数
我有一个具体的元素应该至少出现一次的要求&所有元素可以在任何顺序。 例如:Xml XSD:如何使用minOccurs one&;验证特定元素;所有元素可以是任意顺序&;次数,xml,xsd-validation,Xml,Xsd Validation,我有一个具体的元素应该至少出现一次的要求&所有元素可以在任何顺序。 例如: ......... ............. 我想测试,因为'PTN'应始终出现在'SCH'中,最小值为'1','PTN'和'ELM'可以以任何顺序出现。 我选中了以下选项: “xs:sequence”将始终检查元素的顺序 “xs:all”允许指定的子元素在包含元素中以任何顺序出现(或不出现),除非它们只能出现一次 “xs:choice”部分解决了我的问题,但它不检查特定元素是否至少存在一次 有效的XM
.........
.............
我想测试,因为'PTN'应始终出现在'SCH'中,最小值为'1','PTN'和'ELM'可以以任何顺序出现。
我选中了以下选项:
<ABC id="000021"><SCH id="" type="aaa"><ELM id="dfg" type="fff"/><PTN id="NA" type="gxgfd"><ELM id="dfg2" type="fff"/></SCH></ABC>
<ABC id="000021"><SCH id="" type="aaa"><PTN id="NA" name="Machine" type="dgdh"><ELM id="dfg" type="fff"/><ELM id="dfg2" type="fff"/><PTN id="NA" type="machine"></SCH></ABC>
<ABC id="000021"><PTN id="NA" type="gdfg"></SCH></ABC>
上述XML案例是有效的,因为它至少包含一次“PTN”节点。
PTN和ELM可以是任何序列和计数
无效案例:
<ABC id="000021"><SCH id="" type="aaa"><ELM id="dfg" type="fff"/><ELM id="dfg2" type="fff"/></SCH></ABC>
<ABC id="000021"><SCH id="" type="aaa"><ELM id="dfg" type="fff"/></SCH></ABC>
上述案例无效,因为它没有PTN节点。请回答您的问题并添加XML案例,这些案例应该有效,也不应该有效,以澄清您的请求。谢谢。我现在添加了XML案例。您要么需要放宽顺序无关紧要的要求,要么必须使用XSD1.1断言。如果不在XSD 1.0中进行更改,则无法表示约束。
<ABC id="000021"><SCH id="" type="aaa"><ELM id="dfg" type="fff"/><ELM id="dfg2" type="fff"/></SCH></ABC>
<ABC id="000021"><SCH id="" type="aaa"><ELM id="dfg" type="fff"/></SCH></ABC>