2013-09-29 35 views
0

我有具有父子關係的XML數據,並且想要防止(每個XSD),該子項是其自己的父項。XSD:節點內的唯一屬性值

的XML:

<categories> 
     <category id="1"> 
      <name>cat1</name> 
     </category> 
     <category id="2"> 
      <name>cat2</name> 
     </category> 
     <category id="5" parent_id="5"> <!-- should not validate!--> 
      <name>subcat5</name> 
     </category> 
</categories> 

所以約束是,該ID和PARENT_ID需要有所不同。我嘗試了一些與<xs:unique>但沒有任何運氣的東西。

回答

1

您無法在XSD中的屬性之間表達這些類型的關係(又稱限制)。您可以指定parent_id的值應該從idcategory元素(使用KEY和KEYREF元素)中選擇一個值,但不能指定在兩個屬性之間具有相同值無效。