Elemento attribute XML Schema

Definizione e uso

L'elemento attribute definisce un attributo.

Informazioni sull'elemento

Frequenza di apparizione Definito una volta nell'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=opzionale|proibito|obbligatorio
any attributes
>
(annotation?,(simpleType?))
</attribute>

(Il simbolo ? dichiara che l'elemento può apparire zero o una volta nell'elemento attribute.)

Attributo

default

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

fixed

Opzionale. Stabilisce il valore fisso dell'attributo. Gli attributi 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 l'attributo deve essere limitato tramite prefisso di namespace e il nome senza punteggiatura (NCName) dell'attributo.
  • "unqualified" - Indica che l'attributo non deve essere limitato da un prefisso di spazio dei nomi e non deve corrispondere al nome senza prefisso (NCName) dell'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 appare ref, l'elemento simpleType, form e type non possono apparire.

type

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

use

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.
  • richiesto - Attributo obbligatorio.

any attributes

Opzionale. Specificare qualsiasi altro attributo con uno spazio dei nomi non schema.

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, l'attributo viene automaticamente assegnato un valore predefinito. Nell'esempio seguente, il valore predefinito è "EN":

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

Quando non viene specificato alcun altro valore, l'attributo viene automaticamente assegnato un valore fisso. Tuttavia, diversamente dal valore predefinito, se si specifica un valore diverso dal valore fisso per l'attributo, il documento lo verifica come non valido. Nell'esempio seguente, 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"/>