From: Eric van der Vlist (vdv@dyomedea.com)
Date: 25/11/2002 - 17:51
On Mon, 2002-11-25 at 18:34, Jean-Claude SIMON wrote:
>
> Bonjour,
>
> Avec le schéma XML du W3C, je cherche à faire un type possédant 3 éléments (X).
> Puis de ce type, faire un autre type qui hérite de seulement 2 éléments (Z).
>
> Comment faire pour restreindre le type X pour créer le type Z ?
> De même, pour l'opération contraire (extension de Z pour créer X)?
Attention: la terminologie à ce niveau est un faux ami: l'extension
n'est pas l'inverse (sauf cas particulier) de la restriction pour W3C
XML Schema. Ici c'est le cas mais uniquement parce que vous avez posé le
problème avec l'élément "C" et non par exemple "B"!
> <xsd:complexType name="X">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="A" minOccurs="0" maxOccurs="1" />
> <xsd:element name="B" minOccurs="0" maxOccurs="unbounded" />
> <xsd:element name="C" minOccurs="0" maxOccurs="unbounded" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
>
> <xsd:complexType name="Z">
> <xsd:complexType>
> <xsd:sequence>
> <xsd:element name="A" minOccurs="0" maxOccurs="1" />
> <xsd:element name="B" minOccurs="0" maxOccurs="unbounded" />
> </xsd:sequence>
> </xsd:complexType>
> </xsd:element>
Extension:
<xsd:complexType name="X">
<xsd:complexContent>
<xsd:extension base="Z">
<xsd:sequence>
<xsd:element name="C" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:extension base="Z">
</xsd:complexContent>
</xsd:complexType>
Restriction:
<xsd:complexType name="Z">
<xsd:complexContent>
<xsd:restriction base="X">
<xsd:sequence>
<xsd:element name="A" minOccurs="0" maxOccurs="1" />
<xsd:element name="B" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
Oui, vous avez bien lu: la restriction est plus verbeuse que la
définition d'origine et doit la répéter. Son but n'est pas d'écrire des
schémas modulaires mais de déclarer à une application qu'un type est
dérivé d'un autre.
Cordialement,
Eric van der Vlist
--
Curious about Relax NG? My book in progress is waiting for your review!
http://books.xmlschemata.org/relaxng/
------------------------------------------------------------------------
Eric van der Vlist http://xmlfr.org http://dyomedea.com
(W3C) XML Schema ISBN:0-596-00252-1 http://oreilly.com/catalog/xmlschema
------------------------------------------------------------------------
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|