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] Attribut unique à true


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 139
    Par défaut [XSD] Attribut unique à true
    Bonjour,

    Je cherche à avoir une liste d'items, ayant chacun un attribut isPrimary qui puisse prendre la valeur true ou false (false étant par défaut). Mais il faut qu'un seul d'entre eux puisse avoir la valeur true.

    Pour exemple, le xml suivant est valdie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <items>
    	<item value="blabla" isPrimary="true" />
    	<item value="blibli" isPrimary="false" />
    	<item value="bloblo" isPrimary="false" />
    	<item value="bleble" />
    </items>
    Le xml suivant, au contraire n'es pas valide, car deux éléments item ont la valeur true :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <items>
    	<item value="blabla" isPrimary="true" />
    	<item value="blibli" isPrimary="false" />
    	<item value="bloblo" isPrimary="true" />
    	<item value="bleble" />
    </items>
    Pour l'instant j'ai le xsd suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xs:complexType name="itemstype">
    	<xs:sequence>
    		<xs:element name="item" type="itemtype" minOccurs="1" maxOccurs="unbounded" />
    	</xs:sequence>
    </xs:complexType>
     
    <xs:complexType name="itemtype">
    	<xs:attribute name="isPrimary" type="xs:boolean" default="false"/>
    </xs:complexType>
    Comment faire pour qu'un seul item contenu dans un élément <items> puisse avoir la valeur true?

    Et au passage, si on peux obliger la valeur true quand il n'y a qu'un seul <item> dans la balise <items> mais c'est optionnel.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Ldoppea Voir le message
    Comment faire pour qu'un seul item contenu dans un élément <items> puisse avoir la valeur true?
    Sans XML Schema. Il faut faire que le programme qui va lire ce XML se plaigne quand ça arrive.

    Citation Envoyé par Ldoppea Voir le message
    Et au passage, si on peux obliger la valeur true quand il n'y a qu'un seul <item> dans la balise <items> mais c'est optionnel.
    Nope.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Par défaut
    Tu pourrais utiliser schematron pour établir ce genre de règle :
    http://www.liafa.jussieu.fr/~carton/...ron/index.html

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 139
    Par défaut
    A voir si on peut valider avec Schematron dans une application .Net, je vais me renseigner.

    C'est dommage, je me serait bien contenté d'un seul xsd pour gérer toutes ces règles

    Merci pour vos réponses rapides.

Discussions similaires

  1. [XSD] Attribut unique pour un block
    Par Djobird dans le forum Valider
    Réponses: 2
    Dernier message: 29/05/2009, 13h58
  2. [XSD] Définir un attribut unique
    Par tahtah dans le forum Valider
    Réponses: 1
    Dernier message: 03/01/2008, 10h40
  3. Réponses: 2
    Dernier message: 14/12/2006, 18h08
  4. [XSD] Erreur "Unique Particle Attribution"
    Par be_tnt dans le forum Valider
    Réponses: 4
    Dernier message: 17/10/2006, 13h21
  5. [XSD] Attribut ou élément
    Par be_tnt dans le forum Valider
    Réponses: 5
    Dernier message: 08/06/2006, 10h06

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