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]Elements par defaut


Sujet :

Valider XML

  1. #1
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut [XSD]Elements par defaut
    Bonjour

    J'ai le fichier XML suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <class name="Product">
    	<family name="family1">
    			...
    	</family>
    	<family name="default">
    			...
    	</family>
    </class>
    Je suis en train d'écrire un schéma pour ce fichier et j'ai quelques soucis.

    Dans l'idéal, je peux avoir autant d'éléments <class> que je veux. Chacun d'entre eux peut contenir autant d'éléments <family> que je veux.

    La seule contrainte qui me pose probleme est qu'il faut avoir un (et un seul) élément <family name="default"> dans chaque élément <class>, alors que l'on peut y rajouter plein (ou aucun) élément <family> ayant d'autres valeurs pour l'attribut "name".

    J'avoue que j'ai un peu de mal avec cette contrainte, le reste ne m'ayant posé aucun problème.

    Quelqu'un aurait une idée ?

    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    Tu peux utiliser la balise unique. Tu peux par exemple imposer que le nom de famille est unique dans chaque classe. (oui ca impose encore plus de contraintes!!)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <xs:element name="class">
      <xs:complexType>
      ...
      </xs:complexType>
      <xs:unique name="uniquefamillle">
        <xs:selector xpath="family" />
        <xs:field xpath="@name" />
      </xs:unique>
    </xs:element>

  3. #3
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Ok, si je comprends bien ce que tu me mets, je pourrais avoir plusieurs familles dans une classe, mais elles devront toujours etre differentes ? Si c'est ca, c'est deja pas mal

    M'enfin j'ai vraiment besoin que l'une d'entre elles soient default...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Août 2004
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 41
    Points : 29
    Points
    29
    Par défaut
    Hello !

    A mon avis XML Schema n'est pas fait pour imposer ce type de contrainte. XSD controle surtout la STRUCTURE d'un arbre. XSD permet egalement de controler certains champs via les enumerations etc, mais cela ne me parait pas etre sa vocation.

    Pour tout ce qui est controle des valeurs, d'integrite, de n-presence etc, Schematron me parait bien plus indique.

    A+

  5. #5
    Candidat au Club
    Inscrit en
    Novembre 2006
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par MathiasM
    Hello !

    A mon avis XML Schema n'est pas fait pour imposer ce type de contrainte. XSD controle surtout la STRUCTURE d'un arbre. XSD permet egalement de controler certains champs via les enumerations etc, mais cela ne me parait pas etre sa vocation.

    Pour tout ce qui est controle des valeurs, d'integrite, de n-presence etc, Schematron me parait bien plus indique.

    A+
    Oui, c'est ce que je pensais aussi, que les schémas n'étaient pas fait pour ca. Dans le doute, j'ai préféré demander ;-)

    Sinon, j'essaierai d'aller faire un tour du coté de ce Schematron.

    Enfin, la solution avec des "unique" proposée par bouffa est déja pas mal par rapport à ce que j'ai actuellement.

    Merci à tous, je pense qu'on peut classer ce sujet comme résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 17/07/2011, 07h51
  2. [XSD] definire une valeur par defaut sur le xsd
    Par vanesa dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 25/04/2008, 19h39
  3. positionner par defaut le dernier element de la liste
    Par monphp dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 24/05/2007, 14h57
  4. [XSD] Choix par défaut
    Par viscere dans le forum Valider
    Réponses: 2
    Dernier message: 18/04/2006, 11h23
  5. [XSD] element texte non parsé
    Par bulbo dans le forum Valider
    Réponses: 13
    Dernier message: 10/01/2005, 11h44

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