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 :

Attribut et XSD


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut Attribut et XSD
    Bonjour à tous,

    Voila pour l'un de mes Webservices, j'ai du modifier légèrement le retour XML (ajout d'un attribut "unite" sur 4 balises), mais depuis mon schéma est considéré comme invalide et mon intranet de test me retourne un ParserBadXmlSchemaException, idem pour mes tests fonctionnels, j’obtiens un "schema invalide" en utilisant la fonction schemaValidate() de la classe DomDocument.

    Voici la partie du retour XML que j'ai modifié (en gras les attributs que j'ai ajouté) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <finances>
        <chiffreAffaires unite="kE">721000</chiffreAffaires>
        <resultatNet unite="kE">173000</resultatNet>
        <fondsPropres unite="kE">2111892</fondsPropres>
        <resultatExploitation unite="kE">31000</resultatExploitation>
        <dateCloture>2010-12-31</dateCloture>
    </finances>
    Et voici la modification que j'ai apporté à mon XSD :
    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
    <element name="finances" minOccurs="0" >
        <complexType>
            <sequence>
                <element name="chiffreAffaires" type="ilg:numType" minOccurs="0" />
                <element name="resultatNet" type="ilg:numType" minOccurs="0" />
                <element name="fondsPropres" type="ilg:numType" minOccurs="0" />
                <element name="resultatExploitation" type="ilg:numType" 
                    minOccurs="0" />
                <element name="dateCloture" type="date" minOccurs="0" />
                <element name="effectifs" type="ilg:numType" minOccurs="0" />
            </sequence>
            <attribute name="unite" type="ilg:alphaNumType"></attribute>
        </complexType>
    </element>
    Il semble donc que la syntaxe de la déclaration de mon attribut soit incorrect, avez-vous une idée de comment je doit déclarer cet attribut dans mon xsd ?

    Merci d'avance.

  2. #2
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Tu as rajouté ton attribut unite dans la déclaration de finances (dans ton XSD) alors qu'il devrait être dans la déclaration de ilg:numType (que tu ne nous as pas donnée).

  3. #3
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Citation Envoyé par Loceka Voir le message
    Tu as rajouté ton attribut unite dans la déclaration de finances (dans ton XSD) alors qu'il devrait être dans la déclaration de ilg:numType (que tu ne nous as pas donnée).
    Salut Loceka et merci de ta réponse.

    J'ai retiré la déclaration de l'attribut unite du noeud finance et je l'ai ajouté dans mon main.xsd dans la déclaration de ilg:numType :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <simpleType name="numType">
      <annotation>
       <documentation>type N : tous les chiffres</documentation>
      </annotation>
      <restriction base="token">
       <pattern value="-?[\d]*" />
      </restriction>
      <attribute name="unite" type="ilg:alphaNumType"></attribute>
     </simpleType>
    Malheureusement ca ne marche toujours pas

  4. #4

  5. #5
    Membre émérite
    Avatar de amoiraud
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2006
    Messages : 606
    Par défaut
    Heu moi c'est pareil les XSD ce n'est pas mon fort et vu qu'ils ont tous été fais par un ancien développeur qui à quitté la boite je galère un peu

    J'ai essayé de faire ca en me basant sur la déclaration d'un autre attribut, toujours dans le main.xsd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <complexType name="uniteType">
      <simpleContent>
       <extension base="numType">
        <attribute name="unite" type="ilg:alphaNumType" />
       </extension>
      </simpleContent>
     </complexType>
    Toujours sans succès malheureusement


    EDIT : En fait j'ai réussi, il fallait simplement mettre extension base="ilg:numType" au lieu de extension base="numType".

    Merci pour ton aide

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

Discussions similaires

  1. [XSD] Equivalent du <choice> pour les attribut
    Par BigOne55 dans le forum Valider
    Réponses: 6
    Dernier message: 14/03/2014, 19h24
  2. [XSD] Eléments avec même nom et attributs différents
    Par stanware dans le forum Valider
    Réponses: 3
    Dernier message: 24/06/2008, 17h44
  3. [XSD] Séquence d'attributs?
    Par guizmo_ dans le forum Valider
    Réponses: 2
    Dernier message: 10/06/2006, 18h51
  4. attribut nillable dans un xsd
    Par SGJ dans le forum Valider
    Réponses: 1
    Dernier message: 21/03/2006, 17h44
  5. [XSD] test de la valeur d'un attribut
    Par ka0z dans le forum Valider
    Réponses: 3
    Dernier message: 21/08/2005, 20h46

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