From: Pascal EMMA (pascal.emma@laltruiste.com)
Date: 30/04/2002 - 13:04
Bonjour,
Bonjour, j’aurais voulu savoir comment je pourrais valider le fichier
XML suivant :
<?xml version="1.0"?>
<element_racine xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="F:\Untitled11.xsd">
<personne nationalite="française">
<nom>FRAGIL</nom>
<prenom>Antoine</prenom>
<adresse>10 rue des Anges</adresse>
<code_postal>77200</code_postal>
<ville>Torcy</ville>
</personne>
<personne nationalite="autre">
<nom>FARUGGI</nom>
<prenom>Marco</prenom>
<adresse>Via G.B. Vico, 33</adresse>
<code_postal>00144</code_postal>
<ville>Roma</ville>
<pays>Italia</pays>
</personne>
<personne nationalite="française">
<nom>LEGER</nom>
<prenom>Bruno</prenom>
<adresse>22 rue des Poissonniers</adresse>
<code_postal>75000</code_postal>
<ville>Paris</ville>
</personne>
</element_racine>
De sorte à placer un élément ‘pays’ que si la nationalité de la
‘personne’ est ‘autre’.
J’avais pensé à une schéma de ce type, mais je n’arrive pas à le
terminer :
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<!--Types complexes pour les adresses-->
<xsd:complexType name="type_personne" block="restriction">
<xsd:sequence>
<xsd:element name="nom" type="xsd:string"/>
<xsd:element name="prenom" type="xsd:string"/>
<xsd:element name="adresse" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="type_francaise">
<xsd:complexContent>
<xsd:extension base="type_personne">
<xsd:sequence>
<xsd:element name="code_postal"
type="xsd:positiveInteger"/>
<xsd:element name="ville"
type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="nationalite"
type="xsd:string" use="required" default="française"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="type_autre">
<xsd:complexContent>
<xsd:extension base="type_personne">
<xsd:sequence>
<xsd:element name="code_postal"
type="xsd:positiveInteger"/>
<xsd:element name="ville"
type="xsd:string"/>
<xsd:element name="pays"
type="xsd:string"/>
</xsd:sequence>
<xsd:attribute name="nationalite"
type="xsd:string" use="required" default="autre"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="element_racine">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="personne"
type="type_personne" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
Je vous remercie pour votre aide…
Cordialement…
--
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
|