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 :

Xsd2Code - Schémas avec import


Sujet :

XML/XSL et SOAP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut Xsd2Code - Schémas avec import
    Bonjour,

    alors je ne sais pas si mon sujet est dans la bonne rubrique,
    ou bien s'il aurait fallu le mettre plutôt dans le forum C#...

    Donc, j'ai créé des schémas XML et je veux générer les classes C# correspondantes.

    J'ai un fichier XSD de base.
    Ensuite, mes autres fichiers XSD ont des 'import' du 1er schéma (+ d'autres éventuellement...)

    J'arrive bien à générer les classes de mon fichier de base avec Xsd2Code
    mais pas celles de mes autres schémas...
    A priori, il ne reconnait pas les types déclarés dans mon fichier de base...

    J'ai une erreur
    Error: Le type 'urn:TypesBase:XXX n'est pas déclaré.
    J'ai beau lancer l'utilitaire depuis la console, en spécifiant également le chemin du fichier de base mais il n'a pas l'air de le prendre en compte...


    Quelqu'un a-t-il déjà été confronter au problème?
    Est-ce que l'utilitaire ne prend pas cette fonctionnalité en compte?...

    Merci pour votre aide.

  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
    Error: Le type 'urn:TypesBase:XXX n'est pas déclaré.
    Il faut montrer les lignes de xsd de base incluant la racine, la ligne xs:import et les types ou éléments qui font références aux types ou éléments dans le xsd importé. Et les lignes essentielles du xsd importé. Je devine l'erreur provient de là?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    Tu veux voir mon xsd de base, c'est ça?
    Tu penses qu'il n'est pas valide??

    J'ai précisé que j'avais réussi à générer le code associé à mon xsd de base, pas de souci là-dessus...

    Le truc, c'est que je ne vois pas comment spécifier à l'utilitaire Xsd2Code mes fichiers xsd de base...

  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 un fichier XSD de base.
    Ensuite, mes autres fichiers XSD ont des 'import' du 1er schéma (+ d'autres éventuellement...)
    et
    J'ai précisé que j'avais réussi à générer le code associé à mon xsd de base, pas de souci là-dessus...
    Si vous êtes déjà sur, ce n'est pas la peine que j'insiste.

    Comment êtes-vous sur que le sens et le mécanique de import ne vous échappent pas? Avez-vous déjà validé quelque instance de xml avec eux? Réussi d'avec xsd2code sur le xsd de base ne garante de rien.

    Mais il n'y a pas que moi que sache un peu ce gens de chose, donc, c'est comme vous voulez.

    ps Quand je dis xsd de base, ça peut prendre un sens différent que xsd de base au sens de 'common'. Xsd de base je réfère le xsd qui importe quelque chose. En tout cas, il faut montrer celui qui importe et celui qui est importé, les éléments essentiels pas les xsd complets: on n'a pas tellement de temps.

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    Alors voilà à quoi ressemble mon "XSD importé"

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema targetNamespace="urn:TypesBase"
        elementFormDefault="qualified"
        xmlns="urn:TypesBase"
        xmlns:mstns="urn:TypesBase"
        xmlns:xs="http://www.w3.org/2001/XMLSchema">
     
     
      <!--_____Definition de Date_____-->
      <xs:simpleType name='Date'>
        <xs:restriction base='xs:string'>
          <xs:pattern value='[0-9]{2}/[0-9]{2}/[0-9]{4} [0-9]{2}:[0-9]{2}:[0-9]{2}'/>
        </xs:restriction>
      </xs:simpleType>
     
     
      <!--_____Definitions des Enum_____-->
      <xs:simpleType name='EnumType'>
        <xs:restriction base='xs:string'>
          <xs:enumeration value='Type1'/>
          <xs:enumeration value='Type2'/>
        </xs:restriction>
      </xs:simpleType>
     
      <xs:simpleType name='EnumOrigine'>
        <xs:restriction base='xs:string'>
          <xs:enumeration value='Origine1'/>
          <xs:enumeration value='Origine2'/>
        </xs:restriction>
      </xs:simpleType>
     
      <xs:complexType name='Detail'>
        <xs:simpleContent>
          <xs:extension base='xs:int'>
            <xs:attribute name='Nom' type='xs:string' use='required'/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
     
     
      <xs:complexType name='Masse'>
        <xs:simpleContent>
          <xs:extension base='xs:double'>
            <xs:attribute name='nom' type='xs:string' use='required'/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
     
    //....  
     
       <xs:complexType name='Type_Famille'>
        <xs:simpleContent>
          <xs:extension base='xs:int'>
            <xs:attribute name='Famille' type='xs:int' use='required'/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
     
      <!--__________________________________-->
      <!--_______Types pour tableaux________-->
      <!--__________________________________-->
     
      <!--Pour les tableaux de int avec indice-->
      <xs:complexType name='Int_indice'>
        <xs:simpleContent>
          <xs:extension base='xs:int'>
            <xs:attribute name='n' type='xs:int' use='required'/>
          </xs:extension>
        </xs:simpleContent>
      </xs:complexType>
     
    //...
     
    </xs:schema>
    Et puis mon XSD qui importe le 1er :
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema targetNamespace="urn:schemaParam"
        elementFormDefault="qualified"
        xmlns="urn:schemaParam"
        xmlns:mstns="urn:schemaParam"
        xmlns:xs="http://www.w3.org/2001/XMLSchema"
        xmlns:base='urn:TypesBase'>
     
      <xs:import namespace='urn:TypesBase'/>
     
      <xs:element name="Parametrage" type="Parametres">
     
      </xs:element>
     
      <xs:complexType name="Parametres">
        <xs:sequence>
          <xs:element name="Version" type="xs:string"/>
          <xs:element name="Constantes" type="VariablesConstantes"/>
          <xs:element name="Reference" type="ReferenceAbsolue"/>
        </xs:sequence>
      </xs:complexType>
     
      <xs:complexType name="VariablesConstantes">
        <xs:sequence>
          <xs:element name="Avogadro">
            <xs:simpleType>
              <xs:restriction base="xs:double">
                <xs:minInclusive value="6.022E+23"/>
                <xs:maxInclusive value="6.022E+23"/>
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
          <xs:element name="Masses" type="base:Masse" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:complexType>
     
    //...
     
    </xs:schema>

  6. #6
    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:import namespace='urn:TypesBase'/>
    A cette instance, faites ça.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:import namespace='urn:TypesBase' schemaLocation='common.xsd'/>
    supposons le nom de fichier de xsd importé étant common.xsd et se trouvant dans le même répertoire que celui de xsd important.

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 499
    Points : 218
    Points
    218
    Par défaut
    Super, merci ça marche!!

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

Discussions similaires

  1. Partitionnement table avec import
    Par achabane dans le forum Oracle
    Réponses: 1
    Dernier message: 11/01/2007, 17h24
  2. pb avec import javax.microedition.io.file
    Par adilo dans le forum Java ME
    Réponses: 3
    Dernier message: 22/09/2006, 11h01
  3. Débutants - Pb avec "import"
    Par SimonTemplar dans le forum Langage
    Réponses: 6
    Dernier message: 16/07/2006, 19h02
  4. [Info] Probleme avec import
    Par Marc_3 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 08/03/2006, 18h59
  5. [Crystal Report 9] Changer de schéma avec Oracle
    Par sur_uix dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 14/11/2002, 12h19

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