<xs:element name="Area" type="AreaType">
<xs:key name="NameKey">
<xs:selector xpath=".
|.//Area
|.//Part"/>
<xs:field xpath="@Name"/>
</xs:key>
<xs:key name="PropertyNameKey">
<xs:selector xpath="./Property-List/Property"/>
<xs:field xpath="@Name"/>
</xs:key>
</xs:element>
上面的name名为NameKey的xs:key表示Area节点和Area节点下的所有Area和Part的Name属性都不允许相同
name名为PropertyNameKey表示Area下Property-List下的所有Property的Name属性都是唯一的
key
keyref
Xpath
最后列举几个Xpath的用法
/AAA |
---|
选择根元素AAA |
<AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> </DDD> <CCC/> </AAA> |
/AAA/DDD/BBB |
---|
选择AAA的子元素DDD的所有子元素 |
<AAA> <BBB/> <CCC/> <BBB/> <BBB/> <DDD> <BBB/> </DDD> <CCC/> </AAA> |
在XLab中打开实例 | 树视图 (JPG) |
//BBB |
---|
选择所有BBB元素 |
<AAA> <BBB/> <CCC/> <BBB/> <DDD> <BBB/> </DDD> <CCC> <DDD> <BBB/> <BBB/> </DDD> </CCC> </AAA> |