假设有以下XML结构
<Autos>
<Auto>A</Auto>
<Auto>B</Auto>
<Auto>C</Auto>
</Autos>
如何制作符合以下规则的XSD:
Autos
可以包含任意数量的元素Auto
Autos
必须有一个元素Auto
,其值为A.
元素Auto
必须位于无序列表中。
尝试的解决方案: 我尝试过使用xsd元素选择,全部和序列,但是无法创建有效的解决方案
答案 0 :(得分:0)
在XML树结构中,元素中的文本是元素节点的子元素。 XML Schema仅通过查看其直接子项而非子项的子项来验证元素。因此,在验证<Autos>
时,它只会看到<Auto>
<Auto>
<Auto>
而不是文本子节点。
要使<Autos>
的验证强制执行您的规则,您必须使用不同的名称来区分每个自动,例如<AutoA>
,...
或者如果XML被修复,“验证”必须在XML Schema之外发生,例如在样式表或程序逻辑中。