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] Limiter une énumeration à 1


Sujet :

Valider XML

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut [XSD] Limiter une énumeration à 1
    Bonjour,

    J'aimerais pouvoir limiter l'utilisation d'une valeur d'une énumeration à une seule fois par élément.

    Voici concrètement le problème auquel je suis confronté

    Je vous met donc un bout de code de mon XSD Facture

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <xsd:simpleType name="TypeTarifPrix">
    	<xsd:restriction base="xsd:string">
    		<xsd:enumeration name="ht" value="HT"/>
    		<xsd:enumeration name="ttc" value="TTC"/>
    	</xsd:restriction>
    </xsd:simpleType>


    Dans mon cas, je voudrais donc que mon attribut TarifPrix de mon élément Prix prennent 1 seul fois la valeur "HT" et 1 seul fois la valeur "TTC".



    Merci de votre aide.

  2. #2
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Apres de nombreuses recherches,

    il faudrait ajouter une clé à l'élément PRIX pour qu'il ne puisse choisir justement 1 seul fois chaque valeur

    j'ai donc tenter d'abord de donner un nom a mes enumeration, puis d'inserer la clé dans mon élément
    malheureusement, le parsage m'a donné un XSD invalide.
    De plus je ne suis pas sur de ma restriction "ou exclusif"



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    	<xsd:element name="Prix">
    	<xsd:complexType>
    	<xsd:simpleContent>
    	<xsd:extension base="xsd:string">
    		<xsd:attribute name="TarifPrix" type="TypeTarifPrix" use="required"/>
    	</xsd:extension>
    	</xsd:simpleContent>
    	</xsd:complexType>
    	<xsd:key name="ContPrix">
    		<xsd:selector xpath="."/> 
    		<xsd:field xpath="@ht|@ttc"/>
    	</xsd:key>
    	</xsd:element>

    merci de m'aider

  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,

    j'ai un peu de mal à saisir... Etant donné que dans ton élément <Prix> il ne peut pas y avoir plus d'un attribut TarifPrix, je ne vois pas comment celui-ci pourrait prendre à la fois la valeur "HT" ou "TTC".

    Si contrainte il doit y avoir, ce ne peut être que sur plusieurs éléments prix, et la clé doit être définie dans l'élément englobant les éléments <Prix>. D'autre part, telle que tu as rédigée ta contrainte de clé, elle porte sur deux attributs HT et TTC alors que ce sont censé être des valeurs d'attributs, et non des noms d'attributs.
    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

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Bonsoir,

    merci de la réponse .


    Le nombre d'élément Prix est en effet fixé a 2.
    et je veux en effet que ces 2 élément ait un attribut différent TTC et HT mais je t'avouerai que je n'ai pas vraiment bien compris le système des clés.
    Si tu pouvais m'éclairer plus sur la chose. J'ai pourtant lu qques notes par ci par là mais sans exemples bien concrets et surtout qui ressemblait à mon problème.

Discussions similaires

  1. [XSD] grouper une contrainte sur 2 attributs
    Par MathiasM dans le forum Valider
    Réponses: 3
    Dernier message: 19/04/2006, 12h01
  2. Limiter une List
    Par Ho(c)ine. dans le forum Langage
    Réponses: 13
    Dernier message: 14/01/2006, 16h03
  3. [CR] Comment limiter une page à 10 enregistrements
    Par nsanabi dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 06/01/2006, 12h51
  4. Réponses: 6
    Dernier message: 15/12/2005, 21h20
  5. [CR] limiter une somme
    Par kamga dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 20/09/2005, 21h41

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