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] Contrainte entre les attributs


Sujet :

Valider XML

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Points : 139
    Points
    139
    Par défaut [xsd] Contrainte entre les attributs
    Bonjour,

    J'ai un souci avec un schéma xml que je n'arrive pas à résoudre et je n'ai pas vraiment trouvé de réponse sur le forum.

    J'ai un élément qui peut prendre plusieurs attributs, mais les attributs ont des contraintes en eux

    Exemples :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
        <Perimeter name="INDFLD" value="O" />
        <Perimeter name="CODDEVINE" isnull="N" />
        <Perimeter name="TYPCLI" value="24;91" separator=";" />
    L'attribut isnull ne peut pas être présent avec l'attribut value et l'attribut separator ne peut être présent qu'avec l'attribut value, mais est optionnel.

    Comment rendre compte de ça dans le schéma xml ?

    Merci d'avance.

    Xavier

  2. #2
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Salut,

    NON ce n'est pas possible. Tout du moins avec les schémas 1.0. D'après le W3C ce serait avec la norme 1.1 à venir.

    Néanmoins, tu peux réaliser cela non pas avec une validation de schéma XSD mais avec RelaxNG. A investiguer mais la syntaxe NG doit ressembler à quelque chose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <choice>
      <group>
        <attribute name="value-type"><value>string</value></attribute>
        <attribute name="string-value"><data type="string"/></attribute>
      </group>
      <group>
        <attribute name="value-type"><value>date</value></attribute>
        <attribute name="date-value"><data type="date"/></attribute>
      </group>
    </choice>

    ERE
    Quand une tête pense seule, elle devient folle.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 135
    Points : 139
    Points
    139
    Par défaut
    OK, merci beaucoup

  4. #4
    Expert confirmé
    Avatar de emmanuel.remy
    Inscrit en
    Novembre 2005
    Messages
    2 855
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 855
    Points : 4 045
    Points
    4 045
    Par défaut
    Citation Envoyé par XtoX Voir le message
    OK, merci beaucoup
    Salut, peux tu me passer la solution une fois faite ? Cela m'intéresse pour l'exemple.

    ERE
    Quand une tête pense seule, elle devient folle.

Discussions similaires

  1. [DF] dépendances fonctionnelles entre les attributs et la clé
    Par sadook dans le forum Schéma
    Réponses: 9
    Dernier message: 06/09/2007, 00h51
  2. [XSD] Dépendance entre deux attributs
    Par boux2 dans le forum Valider
    Réponses: 1
    Dernier message: 12/12/2006, 14h51
  3. Sérialisation: Quelles différences entre les attributs ?
    Par eldoctor.Sylvain dans le forum Framework .NET
    Réponses: 2
    Dernier message: 18/09/2006, 15h12
  4. [XSD] contraintes entre données
    Par dvanders dans le forum Valider
    Réponses: 3
    Dernier message: 03/06/2006, 09h18
  5. Réponses: 3
    Dernier message: 28/04/2005, 16h56

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