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

XML/XSL et SOAP Discussion :

Valider un document XML / XSD


Sujet :

XML/XSL et SOAP

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2013
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2013
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Valider un document XML / XSD
    Bonjour, je m’appelle François et j'ai un grand besoin d'aide.
    Je vous fais passer le XML et le XSD. Et au validateur, ils me soulignent que j'ai un problème avec la déclaration de l'élément méta.
    je souhaite intégrer un élément complexe dans un élément de type complexe

    Merci par avance,c'est urgent

    Cordialement,

    François

    PS: la réponse du validateur

    Validation Result
    1 Error(s)
    Line 2 Column 51 : cvc-elt.1: Cannot find the declaration of element 'META'.
    Fichiers attachés Fichiers attachés

  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
    <xs:element name="AUTEURS" minOccurs="1" maxoccurs="unbounded" type="xs:string">
    <xs:complexType>
    <xs:all>
    <xs:element ref="AUTEUR" minOccurs="1" maxOccurs="unbounded"/>
    <xs:element ref="PRESENTATION_AUTEUR" minOccurs="0" maxOccurs="unbounded"/>
    </xs:all>
    </xs:complexType>
    </xs:element>
    A lui tout seul, il contient trois erreurs majeures déjà:
    [1] C'est maxOccurs, pas maxoccurs. D'accord, c'est une faute de frappe, mais, tout de même...
    [2] Quand vous associez xs:complexType ou xs:simpleType comme enfant d'un xs:element, vous ne pouvez plus mettre un attribut type dans la balise xs:element (comme ici type="xs:string" et d'ailleurs n'en est pas).
    [3] Ceci est plus difficile à comprendre: cet élément xs:element paraît dans un groupe model xs:all comme enfant direct. Par conséquence, son facet cardinal maxOccurs ne peut être que 1, et unbounded est inadmissible.

    Assez de ça... maintenant vous utilisez encore le groupe model xs:all dans la définition du type de AUTEURS. Ce n'est pas du tout souhaitable si vous entendez d'avoir plus que un auteur à y mettre dedans pour la même raison que [3]. Et pourquoi voulez-vous que l'ordre soit arbitraire sans trop de raison d'avoir de contrainte à observer à cet égard? En tout cas, xs:all est un animal très spécial et il est là pour une raison de continuité ou d'affinité envers sgml. Il vaut mieux de ne pas utiliser sauf pour quelque raison justifiable.

    Et puis, je suggère vous mettez un élément englobant AUTEUR et PRESENTATION_AUTEUR, dit AUTEUR_DATA ou d'autre à votre gré (j'y mets les caractères majuscules comme vous faites contre mon gré cette fois) et je guarde xs:all comme le groupe model, encore une fois contre mon gré. Comme ça.
    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:element name="AUTEURS" minOccurs="0">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="AUTEUR_DATA" minOccurs="0" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:all>
                            <xs:element ref="AUTEUR" minOccurs="1" />
                            <xs:element ref="PRESENTATION_AUTEUR" minOccurs="0" />
                        </xs:all>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    Avec ça, vous pouvez faire ce que vous cherchez à faire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        <AUTEURS>
            <AUTEUR_DATA>
                <PRESENTATION_AUTEUR>pr&amp;sentation 1</PRESENTATION_AUTEUR>
                <AUTEUR>auteur1</AUTEUR>
            </AUTEUR_DATA>
            <AUTEUR_DATA>
                <PRESENTATION_AUTEUR>présentation 2</PRESENTATION_AUTEUR>
            <AUTEUR>auteur2</AUTEUR>
        </AUTEUR_DATA>
        </AUTEURS>

Discussions similaires

  1. [XSD] Valider un document XML avec plusieurs XSD
    Par Cbast dans le forum Valider
    Réponses: 1
    Dernier message: 11/02/2008, 08h57
  2. [2.0] Valider un fichier xml/xsd
    Par lenoil dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/02/2007, 11h15
  3. Valider un document XML avec un XML Schema
    Par illmonkey dans le forum Général Python
    Réponses: 6
    Dernier message: 31/10/2006, 11h51
  4. [XSD][Xerces] Validation d'un document XML
    Par cash3000 dans le forum Valider
    Réponses: 6
    Dernier message: 15/06/2006, 18h35
  5. Valider un document XML en C++
    Par happynoff dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 10/10/2005, 17h09

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