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 d'un choix parmis plusieurs éléments ou vide


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut [XSD] Validation d'un choix parmis plusieurs éléments ou vide
    Bonjour à tous,

    Voici mon problème :
    Je souhaite créer le XSD permettant de valider les XML suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <empty x="0" y="7">
    	<lantern lighting="0" />
    </empty>
    OU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <empty x="0" y="7">
    	<ball />
    </empty>
    OU

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <empty x="0" y="7">
    </empty>
    mais surtout pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <empty x="0" y="7">
    	<lantern lighting="0" />
    	<ball />
    </empty>
    ni

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <empty x="0" y="7">
    	<lantern lighting="0" />
    	<lantern lighting="1" />
    </empty>
    ni

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <empty x="0" y="7">
    	<ball />
    	<ball />
    </empty>
    En fait je souhaite avoir, soit un seul des deux (ball ou lantern), soit aucun.

    Pour cela, j'ai essayé avec un comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <xs:element name="empty">
    	<xs:complexType>
    		<xs:choice minOccurs="0" maxOccurs="1">
    			<xs:element ref="lantern" />
    			<xs:element ref="ball" />
    		</xs:choice>
    	</xs:complexType>
    	<xs:attribute ref="x" use="required"/>
    	<xs:attribute ref="y" use="required"/>
    </xs:element>
     
    <xs:element name="lantern">
    	<xs:complexType>
    		<xs:attribute ref="lighting" use="required"/>
    	</xs:complexType>
    </xs:element>
    mais cela n'invalide pas lorsque je met plusieurs balises.

    Auriez vous une idée ?
    Merci beaucoup

  2. #2
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    Essais avec ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
      <xs:element name="empty">
        <xs:complexType>
          <xs:choice minOccurs="0" maxOccurs="1">
            <xs:element ref="ball"/>
            <xs:element ref="lantern"/>
          </xs:choice>
          <xs:attribute name="x" use="required" type="xs:integer"/>
          <xs:attribute name="y" use="required" type="xs:integer"/>
        </xs:complexType>
      </xs:element>
      <xs:element name="ball">
        <xs:complexType/>
      </xs:element>
      <xs:element name="lantern">
        <xs:complexType>
          <xs:attribute name="lighting" use="required" type="xs:integer"/>
        </xs:complexType>
      </xs:element>

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 14
    Par défaut Ca marche
    Merci beaucoup ça marche !
    Je n'ai pas compris réellement pourquoi mais c'est fonctionnel à présent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.7] Validator sur plusieurs éléments
    Par CinePhil dans le forum Zend_Form
    Réponses: 4
    Dernier message: 30/03/2010, 10h07
  2. [XSD] Comment gérer plusieurs éléments du même nom ?
    Par AnnSo1109 dans le forum Valider
    Réponses: 3
    Dernier message: 28/10/2009, 16h01
  3. Réponses: 3
    Dernier message: 24/07/2009, 14h04
  4. Réponses: 6
    Dernier message: 06/07/2009, 09h33
  5. [XSD] Valider un document XML avec plusieurs XSD
    Par Cbast dans le forum Valider
    Réponses: 1
    Dernier message: 11/02/2008, 08h57

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