我正在設計一個新的XSD以捕捉來自業務夥伴的點信息。對於每筆交易,合作伙伴必須提供至少一種積分類型的積分值。我有以下幾點:XSD設計 - 一個或多個規則
<xs:element name="Points">
<xs:complexType>
<xs:sequence>
<xs:element name="SKUPointsQty" type="xs:int" minOccurs="0"/>
<xs:element name="WelcomePointsQty" type="xs:int" minOccurs="0"/>
<xs:element name="ManualPointsQty" type="xs:int" minOccurs="0"/>
<xs:element name="GreenPointQty" type="xs:int" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
的業務規則:
- 事務必須由一個或多個點類型的提供點
- 交易不能提供相同的多個實例點類型
我到目前爲止是不理想的,因爲它可能會提供一個沒有任何點的XML實例。我不能使用選擇元素,因爲它必須可以爲一個XML實例提供更多的一個點類型元素。一次交易不得重複相同的積分類型。
是否可以在XSD的設計中強制執行此規則?
我有Neil Bradley出色的XML Schema Companion的副本。我無法在那裏找到答案,所以我想這不可能,但認爲我會分享這個難題!
謝謝
Rob。