2016-10-03 80 views
1

我想爲下面的XML創建模式定義:條件簡單/ COMPLE類型XSD

價格節點可以具有簡單的數值值:

<price>1000000</price> 

或價格節點可以具有一個且僅孩子daily

<price> 
    <daily>500</daily> 
</price> 

或價格節點可能有唯一孩子weekly

<price> 
    <weekly>4000</>weekly> 
</price> 

可能嗎?如果是這樣,如何使用XSD定義price元素?

回答

1

在XSD中,除非您願意通過mixed="true"混合元素和文本,否則您不能同時允許簡單和複雜的內容。你可以使用然後使用XSD 1.1聲明來排除兩者同時出現。

但是,你在這裏游泳。取而代之的是,改變你的XML設計,使通過daily VS傳達的信息weekly是屬性而非元素:

<price> 1000000 </price> 
<price frequency="daily">500</price> 
<price frequency="weekly">4000</price> 

那麼你就必須定義一個price XSD沒有問題。