Validation d'un attribut en fonction d'un autre [XSD] - XML/XSL - Programmation
Marsh Posté le 09-03-2011 à 11:04:39
J'ajoute un exemple valide :
<boisson moment="petit-déjeuner" type="café" />
et un exemple invalide :
<boisson moment="petit-déjeuner" type="pinard" />
Merci d'avance
Marsh Posté le 09-03-2011 à 16:03:06
Vu qu'en XML, l'ordre des attributs n'existe pas (<boisson moment="petit-déjeuner" type="café" /> et <boisson type="café" moment="petit-déjeuner" /> sont complètement équivalents en XML) tu ne dois pas pouvoir avoir de contraintes de ce type IMHO.
A+,
Marsh Posté le 09-03-2011 à 16:36:50
Salut gilou, merci pour ta réponse
Dans le cas décrit, l'ordre des attributs n'est pas important. Ce qui l'est est l'enum choisi pour l'attribut "type", en fonction de l'attribut "moment".
Cela correspondrait à la table de hashage suivante :
{
"petit-déjeuner" => {"thé", "café"}
"déjeuner" => {"pinard", "jus de fruits", "eau"}
"diner" => {"spiritueux", "détergent"}
}
Marsh Posté le 08-03-2011 à 17:04:27
Bonjour à tous,
voilà je me demandais comment faire un shéma de validation XSD qui respecte les règles suivantes :
- que des éléments <boisson>
- <boisson> a un attribut "moment" correspondant à l'enum {"petit-déjeuner", "déjeuner", "diner"}
- <boisson> a un attribut "type" correspondant aux enums :
- {"thé", "café"} si "moment" vaut "petit-déjeuner"
- {"pinard", "jus de fruits", "eau"} si "moment" vaut "déjeuner"
- {"spiritueux", "détergent"} si "moment" vaut "diner"
Est-ce possible en XSD ?
Si non, j'ai entendu parler de Relax NG, est-ce possible avec ce dernier ?
Merci