[XSD]choix d'un type d'attribut en fonction du contenu d'un autre attribut
Florian Lasdoulours- Son-Video <[email protected]> Wed, 7 May 2008 15:56:02 +0200
| Newsgroups | gmane.text.xml.french.tech |
|---|---|
| Organization | PhC |
| Message-ID | <[email protected]> |
Bonjour à tous, je viens chercher votre aide, pour le problème suivant : j'ai un fichier xml à valider : <garanties> <garantie type="extension" duree="2" /> <garantie type="extension" duree="5" /> <garantie type="vol-casse" duree="1" /> <garantie type="vol-casse" duree="2" /> </garanties> ]Contraintes : Il faut que ma xsd valide le XML seulement dans les cas suivants : *** si l'attribut type = "extension" alors l'attribut durée ne peut avoir que "2" ou "5" comme valeur. *** si l'attribut type = "vol-casse' alors l'attribut duree ne peut avoir que "1" ou "2" comme valeur. Sinon il ne faut pas que le document soit valide. j'ai écumé le web sans trouvé une réponse satisfaisante. actuellement j'ai définit les types à utiliser pour les attributs mais je ne sais pas comment les sélectionner en fonction de la valeur de l'attribut type. <xsd:complexType name="garantieType"> <xsd:attribute name="type" type="xsd:string" use="required" /> <xsd:attribute name="duree" type="En fonction de la valeur de l'attribut type" use="required" /> </xsd:complexType> <xsd:simpleType name="AttDureeGarantieExtensionType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="2|5" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="AttDureeGarantieVolCasseType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="1|2" /> </xsd:restriction> </xsd:simpleType> Merci d'avance pour votre aide.