XSD に次の制約があります。
<xs:unique name="optionValuesMustBeUnique">
<xs:selector xpath="option"/>
<xs:field xpath="option_values"/>
</xs:unique>
これは、次のサンプル XML に適用されます (ドキュメント全体ではなく、関連するビット)。
<Option>
<OptionType>Apparel Inseam</OptionType>
<OptionValue>30</OptionValue>
</Option>
<Option>
<OptionType>Waist Size</OptionType>
<OptionValue>30</OptionValue>
</Option>
このアプローチの問題は、これらの値が一緒に有効であることです。それらは異なる型を持っています。ただし、オプション値に基づいて選択しているため、それらが重複して表示されています。
xs:unique
「複合キー」を定義する制限のある方法はありますか? つまり、2 つのフィールドを選択し、XPATH セレクターでそれらを連結して一意性を定義しますか?
私はXPATH 1に限定されています。