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] type composé soit d'une String, soit d'un integer


Sujet :

Valider XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 65
    Points : 69
    Points
    69
    Par défaut [XSD] type composé soit d'une String, soit d'un integer
    Bonjour,

    Je vous expose mon souci : je souhaite représenter cette portion de code xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <courbe>
     <point echeance="JJ" valeur="1"/>
     <point echeance="1" valeur="3"/>
     <point echeance="3" valeur="27"/>
     <!-- etc -->
    </courbe>
    La difficulté que je rencontre est de caractériser dans mon schéma le fait que l'attribut "echeance" prend soit la valeur "JJ", soit un entier.

    voilà ma première solution, que je trouve un peu tirée par les cheveux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <xs:simpleType name="type_point">
     <xs:restriction value="JJ">
    </xs:simpleType>
    <xs:element name="point" minOccurs="0" maxOccurs="unbounded">
     <xs:complexType>
       <xs:attribute name="echeance">
        <xs:simpleType>
         <xs:union memberType="type_point integer"/>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="valeur" type="integer"/>
     </xs:complexType>
    </xs:element>
    existerait il une solution plus optimisée ?

    En vous remerciant de vos (nombreuses ) réponses,
    Thomas

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 65
    Points : 69
    Points
    69
    Par défaut
    pardon, petite erreur dans le code que j'ai donné, dans le prmeier <xs:simpleType> il faut lire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xs:simpleType name="type_point">
      <xs:restriction base="xs:string">
        <xs:enumeration value="JJ"/>
      </xs:restriction>
    </xs:simpleType>

  3. #3
    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,

    une version plus "courte" consisterait à passer par un <xs:pattern>, mais plus "optimisée", j'ai des doutes...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 65
    Points : 69
    Points
    69
    Par défaut
    Merci !
    je vais tester çà, je posterai les évolutions.

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/06/2008, 13h33
  2. Vérifier qu'une Dll soit de type Dotnet
    Par leo2v2o dans le forum C#
    Réponses: 2
    Dernier message: 23/01/2008, 17h30
  3. [Cast] type connu dans une String
    Par phoebe dans le forum Langage
    Réponses: 6
    Dernier message: 12/12/2007, 14h54
  4. Verifier le type d'une string contient une valeur double
    Par tangueros dans le forum VBA Access
    Réponses: 2
    Dernier message: 19/06/2007, 12h56
  5. [XSD] Type number ou string
    Par chris78 dans le forum Valider
    Réponses: 4
    Dernier message: 13/07/2006, 11h30

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