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

Valider XML Discussion :

[XSD] realiser en XSD ce que DTD ne peut


Sujet :

Valider XML

  1. #1
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut [XSD] realiser en XSD ce que DTD ne peut
    Bonjour,

    <xsd:element name="youpi">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="toto" ref="toto1">
    <xsd:element name="toto" ref="toto2">
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>

    <xsd:element name="toto1">
    ...
    </xsd:element>


    <xsd:element name="toto2">
    ...
    </xsd:element>
    Est-ce possible de réaliser un tel exemple? Avec les DTD on ne peut pas, c'est pour ca que je passe sous XSD.

    Merci beaucoup!

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    tu ne peux pas avoir dans le même modèle de contenu deux occurrences du même élément avec des modèle de contenu différents. Tu peux par contre avoir, contrairement aux DTD, deux éléments avec le même nom et des modèles différents, mais dans des modèles séparés. Maintenant, il est peut-être possible d'arriver à ce que tu souhaites d'une autre manière, il faudrait que tu détailles un peu.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Merci pour la réponse!

    Oui, je me suis mal exprimé.

    En fait, j'ai des montants pour deux types d'éléments différents mais leurs sémantiques étant différentes, je souhaiterai les décrire de 2 manières diffférentes.
    Donc, en fait, cela devrait ressembler à cela:


    <xsd:element name="element1">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="toto" ref="toto1">
    ...
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>

    <xsd:element name="element2">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="toto" ref="toto2">
    ...
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>

    <xsd:element name="toto1">
    ...
    </xsd:element>


    <xsd:element name="toto2">
    ...
    </xsd:element>
    En espérant avoir été plus clair.

    Et comme je passe d'une DTD à un XSD, les fiches XML doivent etre validées avec ce XSD.


    Comment dois je m'y prendre?

    Merci!

  4. #4
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Alors personne ne sait? meme google ne m'a pas aidé

  5. #5
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Tu ne peux pas avoir en même temps un attribut name et un attribut ref dans une définition d'élément. Mais je crois avoir compris ce que tu cherches, il suffit d'utiliser des définitions de types :
    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
    <xsd:element name="element1"> 
      <xsd:complexType> 
        <xsd:sequence> 
          <xsd:element name="toto" type="type1"/> 
          ... 
         </xsd:sequence> 
      </xsd:complexType> 
    </xsd:element> 
     
    <xsd:element name="element2"> 
      <xsd:complexType> 
        <xsd:sequence> 
          <xsd:element name="toto" type="type2"/> 
          ... 
         </xsd:sequence> 
      </xsd:complexType> 
    </xsd:element> 
     
    <xsd:complexType name="type1"> 
    ... 
    </xsd:complexType> 
     
     
    <xsd:complexType name="type2"> 
    ... 
    </xsd:complexType>
    Dans cet exemple, type1 et type2 sont des types complexes, mais ils peuvent également être des types simples, ou l'un peut être simple et l'autre complexe, cela dépend de ce que tu comptes mettre dans tes éléments toto.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  6. #6
    Membre confirmé Avatar de billynirvana
    Homme Profil pro
    Architecte technique
    Inscrit en
    Décembre 2004
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 472
    Points : 552
    Points
    552
    Par défaut
    Ah ok!! C'était 'type' et non 'ref' qu'il fallait mettre!

    Oui, tu as compris mon problème. Cela me convient tout à fait. Je vais tester ça de suite.

    Grand merci!

Discussions similaires

  1. [XSD] Puissance du xsd
    Par be_tnt dans le forum Valider
    Réponses: 17
    Dernier message: 26/02/2010, 12h51
  2. [XSD] xsd valide un xsd
    Par nathdiscaz dans le forum Valider
    Réponses: 2
    Dernier message: 03/07/2006, 11h22
  3. XSD d'entree + XSD de sortie = XSLT ????
    Par le_ben2001 dans le forum Valider
    Réponses: 6
    Dernier message: 01/10/2005, 16h22
  4. [XSLT][XSD>XML]transformer xsd en xml avec xslt
    Par émile-henri dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 14/06/2005, 15h06
  5. [XSD] le schéma xsd n'est pas trouvé!
    Par cpicass dans le forum Valider
    Réponses: 5
    Dernier message: 09/06/2005, 10h48

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