<XML Schema Complete Reference
Définition et utilisation
L'élément d'attribut définit un attribut.
Informations sur l'élément
- Parent elements: attributeGroup, schéma, complexType, restriction (both simpleContent and complexContent) à la (both simpleContent and complexContent) , l' extension ( à la fois simpleContent et complexContent)
Syntaxe
<attribute
default=string
fixed=string
form=qualified|unqualified
id=ID
name=NCName
ref=QName
type=QName
use=optional|prohibited|required
any attributes
>
(annotation?,(simpleType?))
</attribute>
(Le signe? Déclare que l'élément peut se produire zéro ou une fois à l'intérieur de l'élément d'attribut)
Attribut | La description |
---|---|
default | Optionnel. Indique une valeur par défaut pour l'attribut. Les attributs par défaut fixes et ne peuvent pas être tous les deux présents |
fixed | Optionnel. Indique une valeur fixe pour l'attribut. Les attributs par défaut fixes et ne peuvent pas être tous les deux présents |
form | Optionnel. Indique la forme de l'attribut. La valeur par défaut est la valeur de l' attributeFormDefault attribut de l'élément contenant l'attribut. Peut être réglé à l'un des éléments suivants:
|
id | Optionnel. Indique un identifiant unique pour l'élément |
name | Optionnel. Indique le nom de l'attribut. Nom et ref attributs ne peuvent pas être tous les deux présents |
ref | Optionnel. Indique une référence à un attribut nommé. Nom et ref attributs ne peuvent pas être tous les deux présents. Si ref est présent, l'élément simpleType, la forme et le type ne peut pas être présent |
type | Optionnel. Indique un type de données intégré ou un type simple. Le type de l' attribut ne peut être présent lorsque le contenu ne contient pas un élément simpleType |
use | Optionnel. Indique comment l'attribut est utilisé. Peut être l'une des valeurs suivantes:
|
any attributes | Optionnel. Indique tous les autres attributs avec non-schema espace de noms |
Exemple 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'exemple ci - dessus indique que le "code" attribut a une restriction. La seule valeur acceptable est deux des lettres majuscules de A à Z.
exemple 2
Pour déclarer un attribut à l' aide d' une définition d'attribut existant au sein d' un type complexe, utilisez le ref attribut:
<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>
exemple 3
Les attributs peuvent avoir soit une valeur par défaut ou une valeur fixe spécifiée. Une valeur par défaut est automatiquement affectée à l'attribut quand aucune autre valeur est spécifiée. Dans l'exemple suivant , la valeur par défaut est "EN" :
<xs:attribute name="lang" type="xs:string" default="EN"/>
Une valeur fixe est automatiquement affectée à l'attribut quand aucune autre valeur est spécifiée. Mais à la différence des valeurs par défaut; si vous spécifiez une autre valeur que le fixe, le document est considéré comme invalide. Dans l'exemple suivant , la valeur fixe est "EN" :
<xs:attribute name="lang" type="xs:string" fixed="EN"/>
exemple 4
Tous les attributs sont facultatifs par défaut. Pour spécifier explicitement que le attribut est optionnel, utilisez le "use" attribut:
<xs:attribute name="lang" type="xs:string" use="optional"/>
Pour faire un attribut obligatoire:
<xs:attribute name="lang" type="xs:string" use="required"/>
<XML Schema Complete Reference