Elemento unique do XML Schema

Definição e uso

O elemento unique especifica que o valor de atributo ou valor de elemento (ou combinação de atributo ou valor de elemento) deve ser único dentro do escopo especificado. Este valor deve ser único ou zero.

O elemento unique deve conter os seguintes elementos em ordem:

Elemento selector

O elemento selector contém uma expressão XPath que especifica um conjunto de elementos onde o valor especificado pelo elemento field deve ser único.

Deve haver um e apenas um elemento selector.

Elemento field

Cada elemento field contém uma expressão XPath, que especifica um valor único (atributo ou valor de elemento) para o conjunto de elementos especificado pelo elemento selector.

Se houver vários elementos field, a combinação dos elementos field deve ser única. Neste caso, o valor de um único elemento field não é necessariamente único para o elemento selecionado, mas a combinação de todos os campos deve ser única.

Deve haver um ou mais elementos field.

Informações do elemento

Número de ocorrências Uma vez
Elemento pai elemento
Conteúdo anotação, campo, seletor

Sintaxe

<unique
id=ID
nome=NCName
qualquer atributo
>
(anotação?,(seletor,campo+))
</unique>

(O símbolo ? indica que esse elemento pode aparecer zero ou uma vez no elemento unique.)

Atributo Descrição
id Opcional. Especifica um ID único para esse elemento.
nome Obrigatório. Especifica o nome para esse elemento.
qualquer atributo Opcional. Especifica qualquer outra propriedade com namespace não-esquema.

Exemplo

Exemplo 1

Este exemplo é um tipo simples composto pela combinação de dois tipos simples:

<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>