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

Format d'échange (XML, JSON...) Java Discussion :

Erreur lors de la validation avec XSD


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Points : 43
    Points
    43
    Par défaut Erreur lors de la validation avec XSD
    Bonjour à tous,

    J'ai un problème de validation de fichier xml sur base d'un xsd.

    Voici ce que je recois :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <id param1="valeur1" param2="valeur2" param3="valeur3" param4="valeur4" param5="valeur5" param6="valeur6">
    </id>
    <contenu filtre="all">
    </contenu>
    Voici ce que mon jdom accepte de valider
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <id param1="valeur1" param2="valeur2" param3="valeur3" param4="valeur4" param5="valeur5" param6="valeur6"/>
    <contenu filtre="all" />

    Voici un morceau du xsd :
    Code XML : 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
    22
    23
    24
     
    <xs:element name="Output">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="id" maxOccurs="unbounded">
    <xs:complexType>
    <xs:sequence />
    <xs:attribute name="param1" type="xs:string" />
    <xs:attribute name="param2" type="xs:string" />
    <xs:attribute name="param3" type="xs:string" />
    <xs:attribute name="param4" type="xs:string" />
    <xs:attribute name="param5" type="xs:string" />
    <xs:attribute name="param6" type="xs:string" />
    </xs:complexType>
    </xs:element>
    <xs:element name="contenu">
    <xs:complexType>
    <xs:sequence />
    <xs:attribute name="filtre" type="xs:string" />
    </xs:complexType>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>

    Voici le message que je recois de JDOM :

    Error on line 3: cvc-complex-type.2.1: Element 'id' must have no character or element information item [children], because the type's content type is empty.

    Pourriez-vous m'indiquer ce que je pourrais faire pour que ca fonctionne ?

    Merci d'avance
    Christian

  2. #2
    Tan
    Tan est déconnecté
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 168
    Points : 158
    Points
    158
    Par défaut
    Dans ton xsd, pour l'élément id, tu définis un complexType ne contenant que les attributs: ton élément n'a pas de type, ni de sous-element: tu peux ne pas avoir de contenu, donc pas de syntaxe <id param1="valeur1" param2...></id>

    Je crois que tu dois pouvoir paramêtrer le validateur pour ne pas prendre en compte ce cas, mais je ne suis pas sûr.

    En tout cas, si tu veux la syntaxe <id param1="valeur1" param2...></id>, il te faut changer le xsd pour définir un type, on peut être modifier le validateur.

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Points : 43
    Points
    43
    Par défaut
    Merci pour ta réponse très claire :-)
    Concernant JDOM j'ai cherché comment le parametrer mais je n'ai pas trouvé :-s
    Du côté du xsd, peux tu me dire ce que je pourrais changer histoire de l'adapter pour qu'il prenne ce format ?

    D'avance merci,
    Christian

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    93
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 93
    Points : 43
    Points
    43
    Par défaut
    Je pense avoir trouvé une solution satisfaisante

    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
    22
    23
    24
     
    <xs:element name="Output">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="id" maxOccurs="unbounded">
    <xs:complexType mixed="true">
    <xs:sequence />
    <xs:attribute name="param1" type="xs:string" />
    <xs:attribute name="param2" type="xs:string" />
    <xs:attribute name="param3" type="xs:string" />
    <xs:attribute name="param4" type="xs:string" />
    <xs:attribute name="param5" type="xs:string" />
    <xs:attribute name="param6" type="xs:string" />
    </xs:complexType>
    </xs:element>
    <xs:element name="contenu">
    <xs:complexType>
    <xs:sequence />
    <xs:attribute name="filtre" type="xs:string" />
    </xs:complexType mixed="true>
    </xs:element>
    </xs:sequence>
    </xs:complexType>
    </xs:element>
    En ajoutant l'attribut mixed="true" il le prend sans problème.
    Est ce la bonne solution ?


    Christian

Discussions similaires

  1. Erreur lors d'un Backup avec SQLDMO
    Par Najdar dans le forum Administration
    Réponses: 2
    Dernier message: 25/06/2007, 19h59
  2. Facelets et erreur lors de la validation
    Par sir_gcc dans le forum JSF
    Réponses: 2
    Dernier message: 01/05/2007, 15h35
  3. Erreur lors de la compilation avec OmniORB
    Par JohnKwada dans le forum CORBA
    Réponses: 1
    Dernier message: 07/09/2006, 17h34
  4. [KNOPPIX] Erreur lors de l'installation avec kaella
    Par fizz56 dans le forum Autres
    Réponses: 8
    Dernier message: 09/06/2006, 10h46
  5. Réponses: 6
    Dernier message: 08/06/2004, 14h51

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