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