|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : août 2012 Messages : 2 ![]() |
Salut tous,
Je cherche une solution pour définir la des règles sur le présence d'une balise. On peut utiliser nillable ou minOccurs pour définir si une balise peut ne pas être présente, mais comment définir des règles indiquant dans quel cas la balise doit être là ou pas ? Mon cas de règles est assez simple puisque j'aimerais définir pour chaque balise un niveau de droit qui correspond au rôle de l'utilisateur. Par exemple, j'aimerais définir que la balise my-tag est accessible à super-admin et pas à admin et other-tag accessible à admin et user. Comment feriez-vous ? J'ai pensé aux solutions suivantes : - Ajouter un attribut à tous mes éléments. Mais la valeur de l'attribut va se retrouvé dans le XML alors que je n'en ai pas besoin. C'est juste celui qui génère le document XML qui doit respecter ces règles, après on en a plus besoin - Ajouter cette règle en commentaire de mon élément mais ce n'est pas très formel - Modifier le schéma de XSD pour pouvoir ajouter un attribut comparable à nillable. Mais est-ce possible de modifier le schéma du schéma standard W3C ? Et quelle sont les conséquences ? |
|
|
00
|
|
|
#2 | |
![]() ![]() |
Citation:
Mais il y a des techniques. Par exemple, si deux éléments différents, <user> et <admin>, ont des contenus similaires mais pas tout à fait identiques, on peut définir l'un comme étant une extension ou restriction de l'autre. Pour un besoin comme le tien, c'est un besoin sémantique. "Tel genre de users a une gestion de droits, mais pas tel autre." La sémantique c'est pas le boulot de XML Schema, il n'est pas prévu pour et quand on le tord pour qu'il le fasse, il le fait mal. XML Schema est là pour vérifier la grammaire, et seulement ça : les éléments s'emboîtent les uns les autres correctement. En principe tu n'as donc pas vraiment le choix : c'est le programme générateur, et rien d'autre, qui décide si un élément a le droit d'être là ou non. Les autres programmes peuvent très bien décider de vérifier aussi de leur côté, avant de faire un autre traitement. |
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : août 2012 Messages : 2 ![]() |
Merci de ta réponse.
Il va falloir que je trouve la moins pire des solutions pour réussir à garder une consistance entre le schéma et ces règles puisque je ne peux pas les mettre dedans. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com