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 :

erreur XML: element global déjà déclaré.


Sujet :

XML/XSL et SOAP

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 60
    Points
    60
    Par défaut erreur XML: element global déjà déclaré.
    Bonjour à tous
    J´ai un souci avec un schema XML que j`ai rédigé sous Visual Studio 2010 et pour cela je souhaiterai votre aide.

    En fait j´ai une erreur que je n' arrive pas à localiser: ' l´element global "Cd" a déjà été déclaré'.

    Chaque fois que cet element a été déclaré ca c´est à chaque fois fait sous un type différent. C´est pour ca que je suis un peut perdue.

    Toute piste sera apprécié

    Ps: Le schema est attaché
    merci
    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
    J'ai regardé le schema. En outre que le problème soulevé, il y a d'autre qui est aussi fondamental.

    [0] Puisque le scheme est destiné pour un targetNamespace, il faut faire attention quand on utilise les attributes comme ref et type: ils attendaient des values du type QCName. La façon la plus économique pour sauver les efforts déjà faites, il vous faut déclaration le uri de targetNamespace comme un espace de défaut. Ceci est bien nécessaire, sinon, le schema est incorrect.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xs:schema
        xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.002.03"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.002.03"
        xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.002.03"
        elementFormDefault="qualified">
    [1] Maintenant le problème soulevé.
    ' l´element global "Cd" a déjà été déclaré'
    Comme chaque fois Cd est déclaré avec xs:element à la portée dite globale: c'est tout à fait interdit. Plus grave est que à chaque fois leur type soit différent, ce n'est pas permis non plus: chaque élément doive d'être eu un seul type dans sa portée.

    [1.1] Heuseursement, pour votre schema, on peut le sauver. D'abord éliminer les déclarations du genre global des xs:element du non 'Cd'; puis réécrire toutes réferences ref en les mises comme type local. Je vois trois instances apparues (si il y en a plus, vous les réécrivez les mêmes). Je le fais explicit pour la première instance.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <xs:complexType name="ServiceLevelSEPA">
     <xs:sequence>
      <!--
      <xs:element ref="Cd" minOccurs="1" maxOccurs="1"/>
      -->
      <xs:element name="Cd" type="ServiceLevelSEPACode" minOccurs="1" maxOccurs="1"/>
     </xs:sequence>
    </xs:complexType> <!--Ende SvcLvl-->
     
    <!-- <xs:element name="Cd" type="ServiceLevelSEPACode"/> -->
    Voilà ce que vous devrez faire.

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 60
    Points
    60
    Par défaut Merci
    Merci infiniment pour le temps que tu as pris pour me répondre.

    je suis nulle en XML (c´est mon premier schema) et j' ai soif d' apprendre.

    Juste avant d' avoir vu ta réponse, j´avais essayé ceci:

    [0]

    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
     
     <xs:complexType name="CategoryPurposeSEPA">
      <xs:sequence>
      <xs:element name="Cd" minOccurs="1" maxOccurs="1" type="ExternalCategoryPurpose1Code /> 
      </xs:sequence>
      </xs:complexType>
     
     
    <xs:complexType name="PurposeSEPA">
    <xs:sequence>
      <xs:element name="Cd" minOccurs="1" maxOccurs="1" type="ExternalPurpose1Code"/> 
      </xs:sequence>
      </xs:complexType> <!-- Ende Purp--> 
     
     
    <xs:complexType name="ServiceLevelSEPA">
     <xs:sequence>
      <xs:element ref="Cd" minOccurs="1" maxOccurs="1" /> 
      </xs:sequence>
      </xs:complexType> <!-- Ende SvcLvl--> 
      <xs:element name="Cd" type="ServiceLevelSEPACode" />
    ici je n' ai déclaré qu'une seule fois l' élement "Cd" globalement et les autres occurences de Cd j' ai laissé en local.
    Je voudrais savoir si le schema pouvait malgré tout être correct?

    [1]
    la déclaration le uri de targetNamespace comme un espace de défaut. Ceci est bien nécessaire, sinon, le schema est incorrect.
    Ici dans ce que tu me conseilles de faire je n' ai pas beaucoup compris
    parce que je ne vois pas ou apparait le uri dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <xs:schema
        xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.002.03"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.002.03"
        xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.002.03"
        elementFormDefault="qualified">
    la première et la quatrième ligne sont pareilles. Est ce bien ca?

    [2] Je voudrais savoir comment (avec quel tool) je pourrais valider (ou m' assurer qu' il est correct) mon schema? Car je pensais que si je n´obtenais plus d' erreurs dans Visual studio alors il était forcément correct.

    Merci beaucoup

  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
    [op:0]
    ici je n' ai déclaré qu'une seule fois l' élement "Cd" globalement et les autres occurences de Cd j' ai laissé en local.
    Je voudrais savoir si le schema pouvait malgré tout être correct?
    C'est acceptable comme ça et si vous voulez malgré l'asymétrie qui peut être ennuyeuse à mes yeux.

    [op:1]
    la première et la quatrième ligne sont pareilles. Est ce bien ca?
    Ici, je revois le xsd que j'ai téléchargé et voilà: c'est bien ma faute. Je n'etais pas fait attention la déclaration tout au debut l'espace de défaut. Je suis désolé et c'est ma faute. Il faut lire comme ça et c'est ce que j'entendais de dire et c'est ce que vous avez mis là.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xs:schema
        xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.002.03"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        targetNamespace="urn:iso:std:iso:20022:tech:xsd:pain.001.002.03"
        elementFormDefault="qualified">
    Ca devrait marcher.

    [op:2] System.Xml est l'une des meilleurs réalisations: Visual Studio devrait être un util dépendable à cet égard. Mais c'est un sujet très complexe, il faut toujours préparer aux surprises et aux bugs.

  5. #5
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 131
    Points : 60
    Points
    60
    Par défaut Merci beaucoup.
    Milles fois MERCIII!!!!!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/11/2006, 13h28
  2. erreur xml insertBefore
    Par totoche dans le forum ASP
    Réponses: 1
    Dernier message: 30/10/2006, 17h08
  3. [Erreur] Cannot find global ActionForward
    Par bouchette63 dans le forum Struts 1
    Réponses: 1
    Dernier message: 10/07/2006, 10h21
  4. [XML] Element '---' should be un-qualified
    Par billynirvana dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 10/04/2006, 16h35
  5. Réponses: 12
    Dernier message: 26/08/2005, 10h02

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