XML Schema unique-element

Definition och användning

unique-elementet specificerar att attribut eller elementvärden (eller en kombination av attribut eller elementvärden) måste vara unika inom specificerat område. Värdet måste vara unikt eller noll.

unique-elementet måste i följd innehålla följande element:

selector-element

Selector-elementet innehåller en XPath-uttryck som specificerar en elementkolektion där värden som specificeras av field-elementen måste vara unika.

Det måste finnas en och endast ett selector-element.

field-element

Varje field-element innehåller en XPath-uttryck som specificerar ett unikt värde (egenskaps- eller elementvärde) som måste finnas för elementkolektionen som specificeras av selector-elementet.

Om det finns flera field-element, måste kombinationen av field-elementen vara unik. I detta fall behöver inte värdena för enskilda field-element vara unika för valda element, men kombinationen av alla fält måste vara unik.

Det måste finnas en eller flera field-element.

Elementinformation

Antal framträdanden En gång
Föräldrelement element
Innehåll annotation, field, selector

Grammatik

<unique
id=ID
name=NCName
alla attribut
>
(annotation?,(selector,field+))
</unique>

(?-teckenet indikerar att elementet kan förekomma noll eller en gång i unique-elementet。)

Attribut Beskrivning
id Valfritt. Specificera ett unikt ID för detta element.
namn Obligatoriskt. Tilldela ett namn till detta element.
alla attribut Valfritt. Specificera eventuella andra attribut med non-schema namnrymd.

Exempel

Exempel 1

Detta exempel är en enkel typ som sammansatts av två enkla typer:

<xs:element name="jeans_size">
  <xs:simpleType>
    <xs:union memberTypes="sizebyno sizebystring" />
  </xs:simpleType>
</xs:element>
<xs:simpleType name="sizebyno">
  <xs:restriction base="xs:positiveInteger">
    <xs:maxInclusive value="42"/>
  </xs:restriction>
</xs:simpleType>
<xs:simpleType name="sizebystring">
  <xs:restriction base="xs:string">
    <xs:enumeration value="small"/>
    <xs:enumeration value="medium"/>
    <xs:enumeration value="large"/>
  </xs:restriction>
</xs:simpleType>