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 :

erreur de validation: je comprends pas


Sujet :

Valider XML

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 22
    Points
    22
    Par défaut erreur de validation: je comprends pas
    Bonjour,

    voici une erreur que je ne comprends pas, je m'acharne dessus depuis un moment:
    cvc-complex-type.2.4.b: The content of element 'users' is not complete. One of '{user}' is expected. line 2 XML Problem
    Merci pour votre aide, voici les sources XML/XSD en dessous.

    voici le schéma:

    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
    20
    21
    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.x.com/Users" xmlns="http://www.x.com/Users">
    	<xs:element name="users" type="usersType">
    
    	</xs:element>
    
    	<xs:complexType name="userType">
            <xs:sequence>
    			<xs:element name="matricule" type="xs:string" maxOccurs="1" minOccurs="1"></xs:element>
    			<xs:element name="nom" type="xs:string" maxOccurs="1" minOccurs="1"></xs:element>
    			<xs:element name="role" type="xs:string" maxOccurs="unbounded" minOccurs="1"></xs:element>
    		</xs:sequence>
    	</xs:complexType>
    
    
        <xs:complexType name="usersType">
        	<xs:sequence>
        		<xs:element name="user" type="userType"></xs:element>
        	</xs:sequence>
        </xs:complexType>
    </xs:schema>
    et voici le document xml:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?xml version="1.0" encoding="UTF-8"?>
    <users xmlns="http://www.x.com/Users" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.x.com/Users users.xsd">
    <user>
      <matricule>123456</matricule>
      <nom>Fabien</nom>
      <roles>
          <role>redacteur</role>
          <role>responsable_technique</role>
       </roles>
    /user>
    </users>

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    [0] La syntaxe de xsi:schemaLocation est incorrecte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <users xmlns="http://www.x.com/Users" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.x.com/Users http://www.x.com/Users users.xsd">
    [1] Si vous voulez rôles comme un enveloppeur avec plus qu'une balise rôle comme fils, il faut faire ça dans le schéma.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <xs:complexType name="userType">
        <xs:sequence>
            <xs:element name="matricule" type="xs:string"></xs:element>
            <xs:element name="nom" type="xs:string"></xs:element>
            <xs:element name="roles" maxOccurs="unbounded">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="role" type="xs:string" maxOccurs="unbounded" />
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par tsuji Voir le message
    [0] La syntaxe de xsi:schemaLocation est incorrecte.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <users xmlns="http://www.x.com/Users" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.x.com/Users http://www.x.com/Users users.xsd">
    Bonjour, j'ai bien doublé la première partie dans schemaLocation, et pourtant j'ai toujours le problème. Par ailleurs, eclipse ou autre ne m'indique pas ne pas trouver le schéma, mais au contraire il le trouve bien vu le message... mais il me dit que l'élément que j'utilise n'est pas le bon, alors qu'il me présente bien que je devrais utiliser celui là...

    Merci pour le reste.

  4. #4
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    j'ai bien doublé la première partie dans schemaLocation
    Alors là, j'ai mal à croire mes yeux: c'est possible que ce soit la version que je travaillais avant la réedition.

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 547
    Points : 21 602
    Points
    21 602
    Par défaut
    Il manque elementFormDefault="qualified" à l'intérieur de ta balise ouvrante <xs:schema>

    C'est un peu débile, je sais. Dis-toi que chaque fois que tu travailles avec des namespaces tu dois mettre ça.

    (Et il n'y a aucun besoin de doubler l'URI dans xsi:schemaLocation, il est très bien tel que je le vois dans le premier post.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 30
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Il manque elementFormDefault="qualified" à l'intérieur de ta balise ouvrante <xs:schema>

    C'est un peu débile, je sais. Dis-toi que chaque fois que tu travailles avec des namespaces tu dois mettre ça.

    (Et il n'y a aucun besoin de doubler l'URI dans xsi:schemaLocation, il est très bien tel que je le vois dans le premier post.)
    Je viens de tester, ca marche au poil ! je chercherai un peu d'info pour mieux comprendre à l'occasion...

    merci !

  7. #7
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    (Et il n'y a aucun besoin de doubler l'URI dans xsi:schemaLocation, il est très bien tel que je le vois dans le premier post.)
    Bien entendu. J'ai juste lu mal sur l'ecran. Je suis désolé.

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

Discussions similaires

  1. [debug] erreur que je ne comprend pas
    Par PoZZyX dans le forum Java ME
    Réponses: 4
    Dernier message: 11/07/2006, 09h05
  2. std ::vector [erreur que je ne comprend pas]
    Par aaronw dans le forum SL & STL
    Réponses: 8
    Dernier message: 05/03/2006, 22h00
  3. [Débutant] Message d'erreur que je ne comprends pas
    Par Le Furet dans le forum Langage
    Réponses: 2
    Dernier message: 25/02/2006, 18h37
  4. [PostGreSQL] une erreur que je ne comprends pas
    Par flo78 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2006, 11h18
  5. Erreur Objet requis : 'this' --> Comprend pas!!
    Par Grozeil dans le forum ASP
    Réponses: 3
    Dernier message: 30/03/2005, 10h46

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