根据其他属性值验证XML属性

时间:2013-07-25 10:55:06

标签: xml xsd

我有以下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吗?

提前致谢,

此致

1 个答案:

答案 0 :(得分:1)

XSD 1.0不允许“共现约束”,其中一个属性的类型取决于另一个属性的值。

在XSD 1.1中,您可以使用为此目的而发明的“条件类型分配”。 Xerces和Saxon目前支持XSD 1.1。