L'élément field permet de sélectionner par l'intermédiaire d'une expression XPath , des éléments ou des attributs destinés à être utilisés comme clé.
<xsd:field
id = ID
xpath = {sous-ensemble d'expressions XPath}
{tout attribut ayant un espace de noms
différent de celui du schéma...}>
Contenu : (annotation?)
</xsd:field>
L'élément field possède plusieurs attributs destinés à identifier le champ et à préciser une expression XPath.
| Attributs | Description |
|---|---|
| id | précise un identificateur unique pour l'élément. |
| xpath | spécifie un sous-ensemble d'expressions XPath. |
L'élément field ne peut être inclus que dans les éléments suivants :
Exemple [voir]<?xml version="1.0" encoding="ISO-8859-1"?>
<site:annuaire
xmlns:site="http://www.site.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.site.com c:\schema.xsd">
<page numero="1" langue="US">
<titre>XML Schema</titre>
<lien>http://www.w3.org/XML/Schema/</lien>
<commentaire>
XML Schemas express shared vocabularies and allow machines
...
</commentaire>
<cle_site>1</cle_site>
</page>
<page numero="2" langue="FR">
<titre>XML Schema tome 0 : Introduction</titre>
<lien>http://xmlfr.org/w3c/TR/xmlschema-0/</lien>
<commentaire>
Le tome 0 de la spécification XML Schema n'est qu'une introduction
...
</commentaire>
<cle_site>1</cle_site>
</page>
<page numero="3" langue="FR">
<titre>XML Schema tome 1 : Structures</titre>
<lien>http://xmlfr.org/w3c/TR/xmlschema-1/</lien>
<commentaire>
XML Schema tome 1 : Structures est la spécification du langage
...
</commentaire>
<cle_site>2</cle_site>
</page>
<page numero="4" langue="US">
<titre>XML Schema Part 2: Datatypes</titre>
<lien>http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/</lien>
<commentaire>
XML Schema: Datatypes is part 2 of the specification of the XML
...
<cle_site>1</cle_site>
</page>
<site numero="1">
<nom>W3C</nom>
<url>http://www.w3.org/</url>
</site>
<site numero="2">
<nom>XMLfr</nom>
<url>http://www.xmlfr.org/</url>
</site>
</site:annuaire>
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.site.com"
targetNamespace="http://www.site.com">
<xsd:complexType name="type_page">
<xsd:sequence>
<xsd:element name="titre" type="xsd:string"/>
<xsd:element name="lien" type="xsd:string"/>
<xsd:element name="commentaire" type="xsd:string"/>
<xsd:element name="cle_site"
type="xsd:positiveInteger"/>
</xsd:sequence>
<xsd:attribute name="numero"
type="xsd:positiveInteger"
use="required"/>
<xsd:attribute name="langue"
type="xsd:string"
use="required"/>
</xsd:complexType>
<xsd:complexType name="type_site">
<xsd:sequence>
<xsd:element name="nom" type="xsd:string"/>
<xsd:element name="url" type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="numero"
type="xsd:positiveInteger"
use="required"/>
</xsd:complexType>
<xsd:complexType name="type_annuaire">
<xsd:sequence>
<xsd:element name="page"
maxOccurs="unbounded"
type="type_page">
<xsd:unique name="cle_page">
<xsd:selector xpath=".//page"/>
<xsd:field xpath="./@numero"/>
</xsd:unique>
</xsd:element>
<xsd:element name="site"
maxOccurs="unbounded"
type="type_site">
<xsd:key name="num_site">
<xsd:selector xpath=".//site"/>
<xsd:field xpath="./@numero"/>
</xsd:key>
<xsd:keyref name="cle_site" refer="num_site">
<xsd:selector xpath=".//page"/>
<xsd:field xpath="./cle_site"/>
</xsd:keyref>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="annuaire" type="type_annuaire"/>
</xsd:schema> |