L'élément extension propose d'étendre la définition d'un élément ou d'un attribut XML à un autre type de données spécifié.
<xsd:extension base = QName id = ID {tout attribut ayant un espace de noms différent de celui du schéma...}> Contenu : (annotation?, ((group | all | choice | séquence)?, ((attribute | attributeGroup)*, anyAttribute?))) </xsd:extension>
L'élément extension possède deux attributs définissant la structure extensive.
Attributs | Description |
---|---|
base | indique un type de données de base. |
id | précise un identificateur unique pour l'élément. |
L'élément extension ne peut être inclus que dans les éléments suivants :
Exemple [voir]<?xml version="1.0" encoding="ISO-8859-1"?> <element_racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="c:\schema.xsd"> <donation monnaie="$US">50</donation> <donation monnaie="$US">90</donation> <donation monnaie="euros">80</donation> <donation monnaie="euros">312</donation> <donation monnaie="$US">500</donation> </element_racine> <?xml version="1.0" encoding="ISO-8859-1"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="element_racine"> <xsd:complexType> <xsd:sequence> <xsd:element name="donation" type="type_donation" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="type_donation"> <xsd:simpleContent> <xsd:extension base="niveau_don"> <xsd:attribute name="monnaie" type="xsd:string" use="required"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> <xsd:simpleType name="niveau_don"> <xsd:restriction base="xsd:nonNegativeInteger"> <xsd:minExclusive value="49"/> <xsd:maxExclusive value="501"/> </xsd:restriction> </xsd:simpleType> </xsd:schema> |