2011-09-20 106 views
1

是否可以定義一個基於另一個元素的值限制一個或多個元素出現的XML模式?根據另一個元素值限制元素髮生的XML模式

例如,在下面的XML中,當TYPE元素的值爲'A'時,則只能有一個ITEM_TYPE_1元素,但至少有兩個ITEM_TYPE_2元素。

<ROOT> 
    <TYPE>A</TYPE> 
    <ITEM_TYPE_1 /> 
    <ITEM_TYPE_2 /> 
    <ITEM_TYPE_2 /> 
</ROOT> 

相反地,當TYPE元件具有「B」的值,則必須有至少兩個ITEM_TYPE_1元件,但只有一個ITEM_TYPE_2元件。

<ROOT> 
    <TYPE>B</TYPE> 
    <ITEM_TYPE_1 /> 
    <ITEM_TYPE_1 /> 
    <ITEM_TYPE_2 /> 
</ROOT> 

不知道如果我試圖做一些事情,XML Schema不能處理或沒有,所以給予反饋。

回答

2

不,XML Schema 1.0不支持這樣的約束,其中依賴於元素或屬性值。 XML Schema 1.1尚未廣泛採用,但通過assertions支持價值限制。

相關問題