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