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