Elemento attribute XML Schema

Definizione e uso

L'elemento attribute definisce un attributo.

Informazioni sull'elemento

Frequenza di apparizione Definito una volta nel elemento schema. Riferito più volte nei tipi complessi o nei gruppi di attributi.
Elemento padre attributeGroup、schema、complexType、restriction (simpleContent)、extension (simpleContent)、restriction (complexContent)、extension (complexContent)
Contenuto annotation、simpleType

Sintassi

<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
qualsiasi attributi
>
(annotation?,(simpleType?))
</attribute>

(? Il simbolo声明该元素可在 attribute 元素中出现零次或一次。)

Attributo

default

Opzionale. Stabilisce il valore predefinito dell'attributo. L'attributo default e fixed non possono essere utilizzati contemporaneamente.

fixed

Opzionale. Stabilisce il valore fisso dell'attributo. L'attributo default e fixed non possono essere utilizzati contemporaneamente.

form

Opzionale. Stabilisce il formato dell'attributo. Il valore predefinito è quello dell'attributo attributeFormDefault dell'elemento schema che contiene l'attributo. Può essere impostato su uno dei seguenti valori:

  • "qualified" - Indica che è necessario limitare questo attributo attraverso il prefisso di namespace e il nome senza prefisso (NCName) di questo attributo.
  • "unqualified" - Indica che l'attributo non deve essere limitato da un prefisso di namespace e non deve corrispondere al nome senza prefisso (NCName) di questo attributo, ovvero il nome locale.

id

Opzionale. Specificare l'ID unico dell'elemento.

name

Opzionale. Specificare il nome dell'attributo. Le proprietà name e ref non possono apparire contemporaneamente.

ref

Opzionale. Specificare il riferimento all'attributo specificato. Le proprietà name e ref non possono apparire contemporaneamente. Se viene utilizzato ref, l'elemento simpleType, form e type non possono apparire.

type

Opzionale. Specificare il tipo di dati nativo o il tipo semplice. L'attributo type può apparire solo quando il contenuto non contiene l'elemento simpleType.

uso

Opzionale. Specificare come utilizzare l'attributo. Può impostare i seguenti valori:

  • Opzionale - l'attributo è opzionale e può avere qualsiasi valore (predefinito).
  • Proibito - non utilizzare l'attributo.
  • Obbligatorio - l'attributo è obbligatorio.

qualsiasi attributi

Opzionale. Specificare qualsiasi altro attributo con lo spazio dei nomi non-schematico.

Esempio

Esempio 1

<xs:attribute name="code">
<xs:simpleType>
  <xs:restriction base="xs:string">
    <xs:pattern value="[A-Z][A-Z]"/>
  </xs:restriction>
</xs:simpleType>
</xs:attribute>

L'esempio sopra indica che l'attributo "code" ha una restrizione. L'unica valore accettabile è una coppia di lettere maiuscole A-Z.

Esempio 2

Per utilizzare una definizione di attributo esistente in un tipo complesso per dichiarare un attributo, utilizzare l'attributo ref:

<xs:attribute name="code">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:pattern value="[A-Z][A-Z]"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
<xs:complexType name="someComplexType">
  <xs:attribute ref="code"/>
</xs:complexType>

Esempio 3

L'attributo può avere sia un valore predefinito che un valore fisso specificato. Quando non viene specificato alcun altro valore, viene assegnato automaticamente un valore predefinito all'attributo. Nei seguenti esempi, il valore predefinito è "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Quando non viene specificato alcun altro valore, viene assegnato automaticamente un valore fisso all'attributo. Tuttavia, diversamente dal valore predefinito, se si specifica un valore diverso dal valore fisso per l'attributo, il documento viene verificato come non valido. Nei seguenti esempi, il valore fisso è "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Esempio 4

Tutti gli attributi sono di default opzionali. Per specificare esplicitamente che un attributo è opzionale, utilizzare l'attributo "use":

<xs:attribute name="lang" type="xs:string" use="optional"/>

Rendi l'attributo obbligatorio:

<xs:attribute name="lang" type="xs:string" use="required"/>