IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

[XSD] validation xsd: casse et ordre


Sujet :

Valider XML

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 32
    Points : 22
    Points
    22
    Par défaut [XSD] validation xsd: casse et ordre
    Salut,

    Je suis en train de valider des fichier xml avec des metadonnées au format xsd.

    Je rencontre des problèmes lors de la validation:
    certaines balises ne respetent pas la casse
    certaines balises ne respectent pas l'ordre alphabetique!

    par exemple j'ai
    <gdd_adresse>
    <ville></ville>
    <pays></pays>
    </gdd_adresse>

    je vais avoir une erreur car pays est aprés ville...

    Je voudrais savoir si certains validateurs peuvent être configurés pour ne pas contrôler la casse.

    Je voudrais savoir si l'ordre des balises doit être absolument respecté... Ce qui me parrait assez contraignant et contraire à la phylosophie de xml.

  2. #2
    Membre à l'essai
    Inscrit en
    Juillet 2005
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 32
    Points : 22
    Points
    22
    Par défaut
    bonjour,

    Je débute en XSD...

    Le problème vient de l'utilisation de la balise <xs:sequence>. xs sequence impose l'ordre des balises. Mon sxd ressemblait à ça;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <xs:complexType name="adresse">
      <xs:sequence maxOccurs="unbounded">
        <xs:element name="ville" type="xs:string"/>
       <xs:element name="pays" type="xs:string"/>
      </xs:sequence>
    </xs:complexType>
    A présent j'ai remplacé <xs:sequence> par <xs:all> ce qui permet d'avoir un ordre indéterminé. Mon problème à présent est de pouvoir mettre un nombre de balises indéterminé.

    Mais la balise <xs:all> ne permet pas qu'on ajoute un attribut maxOccurs="unbounded" dans l'un des élèments à l'intéreur de xs:all.

    j'ai essayé également cette syntaxe: <xs:all maxOccurs="unbounded">. Elle est acceptée par XmlSpy, mais pas par le progiciel que j'utilise...

    Ma question est comment faire pour avoir un nombre de balises illimitées sans contraintes d'ordre?

    Merci, j'ai pratiquement rien à faire en xsd, ça me ferait mal de lire tout un cours pour l'utilisation minime que je vais en faire...

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 20
    Points : 24
    Points
    24
    Par défaut
    il faudrait peut être voir du coté de xs:choice dans des cas comme celui-ci (même s'il n'est pas forcement satisfaisant) car en jouant sur son attribut maxoccurs on peut obtenir quelque chose de proche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xs:element name="r">
    	<xs:complexType>
    	<xs:choice maxOccurs="2" minOccurs="1">
    	    <xs:element name="t1" type="xs:string"/>
    	    <xs:element name="t2" type="xs:string"/>	
    	</xs:choice>
    	</xs:complexType>
    </xs:element>
    valide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <r>
    	<t1>....</t1>
    </r>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <r>
    	<t2>....</t2>
    </r>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <r>
    	<t2>....</t2>
                <t2>....</t2>
    </r>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <r>
    	<t1>....</t1>
                <t2>....</t2>
    </r>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <r>
    	<t2>....</t2>
                <t1>....</t1>
    </r>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <r>
    	<t1>....</t1>
                <t1>....</t1>
    </r>

Discussions similaires

  1. [Xml/Xsd]valider son fichier Xml avec un schéma xsd
    Par ePoX dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/02/2006, 22h30
  2. [XSD] <xs:sequence> force l'ordre ...
    Par zolive dans le forum Valider
    Réponses: 5
    Dernier message: 06/02/2006, 17h22
  3. Réponses: 1
    Dernier message: 27/10/2005, 16h26
  4. [XSD]Validation avec deux schémas?
    Par cuber dans le forum Valider
    Réponses: 10
    Dernier message: 22/09/2005, 09h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo