Elemento <xsd:attribute>
Dichiara un attributo.
<attribute
default = string
fixed = string
form = (qualified | unqualified)
id = ID
name = NCName
ref = QName
type = QName
use = (optional | prohibited | required): optional
{any attributes with non-schema Namespace...}>
Content: (annotation?, (simpleType?))
</attribute>
Attributi
default
L'attributo ha un valore predefinito. Se l'attributo non è impostato in un'istanza all'interno di un documento XML, presenterà il valore specificato. Se l'attributo non è presente nel documento di istanza, verrà visualizzato nell'insieme di informazioni sulla convalida post-schema (PSVI, Post-Schema-Validation Infoset). Se l'attributo non si trova effettivamente nel documento di istanza, i processori dello schema funzioneranno come se per l'attributo fosse specificato il valore predefinito. Gli attributi default e fixed non possono essere presenti contemporaneamente.Facoltativo.
fixed
L'attributo ha un valore fisso. Se l'attributo è presente in un documento di istanza, è necessario che il relativo valore sia uguale al valore fisso assegnato. Se non è presente, l'attributo riceve il valore fornito. Gli attributi default e fixed non possono essere presenti contemporaneamente.Facoltativo.
form
La proprietà Form per l'attributo. Il valore predefinito corrisponde al valore dell'attributo attributeFormDefault dell'elemento schema contenente l'attributo stesso. Il valore deve essere uno delle seguenti stringhe: "qualificato" o "non qualificato".Se il valore è non qualificato, l'attributo non deve necessariamente essere qualificato con il prefisso dello spazio dei nomi e viene confrontato con il nome NCName (No-Colon Name, nome senza due punti) dell'attributo (nome locale).
Se il valore è qualificato, è necessario qualificare l'attributo combinando il targetNamespace dello schema con il nome NCName dell'attributo.
Facoltativo.
id
L'identificatore di questo elemento. Il valore id deve essere del tipo identificatore e deve essere univoco all'interno del documento che contiene questo elemento.Facoltativo.
name
Il nome dell'attributo. Il nome deve essere un NCName, come definito dalla specifica degli spazi dei nomi XML. È obbligatorio se l'elemento contenitore è l'elemento schema. Gli attributi name e ref non possono essere presenti contemporaneamente.Quando un documento XML viene convalidato in base a uno schema, ogni singolo attributo del documento viene convalidato in base a un elemento attribute dello schema.
Facoltativo.
ref
Il nome di un attributo dichiarato in questo schema (oppure in uno schema diverso indicato dallo spazio dei nomi specificato). Il valore ref deve essere un nome completo (QName). e può includere un prefisso di spazio dei nomi. Gli attributi name e ref non possono essere presenti contemporaneamente. Se è presente ref, non sono consentiti simpleType, form e type.Per dichiarare un attributo tramite una definizione di attributo esistente all'interno di un tipo complesso, utilizzare l'attributo ref per specificare la definizione di attributo esistente.
<xs:attribute name="mybaseattribute"> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:maxInclusive value="1000"/> </xs:restriction> </xs:simpleType> </xs:attribute> <xs:complexType name="myComplexType"> <xs:attribute ref="mybaseattribute"/> </xs:complexType>
Facoltativo.
type
Il nome di un tipo di dati incorporato o di un tipo semplice definito in questo schema o in uno schema diverso indicato dallo spazio dei nomi specificato. Il tipo deve essere un nome completo (QName) e può includere un prefisso di spazio dei nomi. L'attributo type può essere presente solo se il contenuto non presenta un elemento simpleType.Facoltativo.
use
Indica come viene utilizzato l'attributo.Se è specificato, questo attributo deve avere uno dei seguenti valori.
optional
L'attributo è facoltativo e può avere qualsiasi valore. Questa è l'impostazione predefinita. Le righe che seguono sono pertanto equivalenti:
<xs:attribute name="myattr" type="xs:string"/> <xs:attribute name="myattr" type="xs:string" use="optional"/>
prohibited
L'attributo non può essere utilizzato. Questo attributo viene utilizzato in una restrizione o estensione di un altro tipo complesso per impedire l'utilizzo di attributi esistenti.
<xs:complexType name="A"> <xs:attribute name="x" type="xs:NCName"/> <xs:attribute name="y" type="xs:QName"/> </xs:complexType>
<xs:complexType name="B"> <xs:complexContent> <xs:restriction base="xs:A"> <xs:attribute name="x" use="required" /> <xs:attribute name="y" use="prohibited"/> </xs:restriction> </xs:complexContent> </xs:complexType>
required
L'attributo deve essere presente almeno una volta.
L'attributo è obbligatorio e può contenere qualsiasi valore consentito da questa definizione di tipo.
<xs:attribute name="myattr" type="xs:string" use="required"/>
Questo attributo è utilizzato in una restrizione o in un'estensione di un altro tipo complesso, per richiedere che siano presenti uno o più attributi specificati.
<xs:complexType name="A"> <xs:attribute name="x" type="xs:NCName"/> <xs:attribute name="y" type="xs:QName"/> </xs:complexType>
<xs:complexType name="B"> <xs:complexContent> <xs:restriction base="xs:A"> <xs:attribute name="x" use="required" /> <xs:attribute name="y" use="prohibited"/> </xs:restriction> </xs:complexContent> </xs:complexType>
Se l'attributo è dichiarato globale (ovvero se l'elemento padre è schema), è obbligatorio in tutti gli elementi dello schema.
Facoltativo.
Informazioni sull'elemento
Numero di occorrenze |
Definito una volta nell'elemento schema. Vi viene fatto riferimento più volte nei tipi complessi o nei gruppi di attributi. |
Elementi padre |
attributeGroup, schema, complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent) |
Contenuto |
Osservazioni
Una dichiarazione di attributo associa un nome alla definizione di un tipo, che può essere un tipo di dati incorporato o un tipo semplice.
Le dichiarazioni di attributo possono essere presenti come elementi figlio degli elementi schema, complexType e attributeGroup, che hanno un ambito globale, oppure all'interno di definizioni di tipi complessi. Per i tipi complessi, le dichiarazioni di attributo possono essere presenti come dichiarazioni locali o riferimenti ad attributi con ambito globale.
Gli attributi possono essere inoltre visualizzati per riferimento all'interno degli elementi attributeGroup e complexType.
Esempi
Nell'esempio seguente viene dichiarato un attributo per riferimento a un tipo integrato con il valore predefinito test. Tale attributo viene utilizzato in un elemento complexType.
Nell'esempio seguente viene dichiarato un attributo required direttamente all'interno di un elemento complexType.
Nell'esempio seguente viene dichiarato un attributo tramite la derivazione dal tipo integer integrato (per restrizione) e utilizzando solo valori compresi tra "60"
e "95"
, inclusi questi ultimi.
Nell'esempio seguente viene dichiarato un attributo come elenco contenente valori decimali. Specificando shoeSizes="10.5 9 8 11" è possibile assegnare l'elenco di valori 10.5, 9, 8, e 11 a un attributo.
Altre risorse
Per ulteriori informazioni, vedere la raccomandazione W3C XML Schema Part 1: Structures all'indirizzo www.w3.org/TR/2001/REC-xmlschema-1-20010502/\#element-all (informazioni in lingua inglese).
Vedere anche
Riferimento
Riferimenti dello schema XML (XSD)
Elementi dello schema XML