我有以下XML。
<?xml version="1.0" encoding="utf-8" ?>
<Items>
<Item type="none" attNone1="test" attNone2="test3" />
<Item type="action" attAction1="test" attAction2="test2" />
</Items>
我需要根据一些规则创建XSD:
1)属性“type”是必需的。
2)如果属性值应为“none”或“action”
3)如果属性值为“none”,我应该有另外两个必需属性“attNone1”和“attNone2”。我不应该接受“attAction1”或“attAction2”
4)如果属性值是“action”,我应该有另外两个必需属性,“attAction1”和“attAction2”。我不应该接受“attNone1”或“attNone2”
知道怎么做这个XSD吗?
提前致谢,
此致
答案 0 :(得分:1)
XSD 1.0不允许“共现约束”,其中一个属性的类型取决于另一个属性的值。
在XSD 1.1中,您可以使用为此目的而发明的“条件类型分配”。 Xerces和Saxon目前支持XSD 1.1。