2009-09-24 7 views
0

je voudrais définir un schéma pour un document comme:xsd - valeurs validation de fichier dictionnaire externe

... 
<car> 
    <make>ford</make> 
    <model>mondeo</model> 
</car> 
... 

le problème est que je voudrais à la contrainte des valeurs possibles (donc Ford/Mondeo ou audi/a4 seraient des valeurs valides pour make/model, mais audi/mondeo ne le seraient pas) du dictionnaire de données externe. Dans le cas où de nouveaux modèles de voiture doivent être ajoutés, seul le fichier de données externe changerait, mais le schéma xsd resterait le même.

Est-ce possible? J'ai regardé la contrainte key/keyref, je vois que je peux les utiliser dans un seul document, mais ce n'est pas ce que je cherche. Je ne veux pas répéter le dictionnaire de données complet avec chaque instance de document, je préférerais que le fichier de données fasse plutôt partie du schéma.

+0

C'est tout possible. – Natrium

Répondre

1

Cela n'est pas possible dans XML Schema 1.0.

XML Schema 1.1 ajoutera un support qui permettra d'exprimer ce type de contraintes (bien que je ne SOMMES PAS dans des fichiers externes) - mais ce n'est pas encore une recommandation du W3C.

Il est possible de l'implémenter maintenant avec Schematron, éventuellement intégré dans XML Schema.

Cependant, il y avait déjà du travail dans ce domaine avec des résultats utilisables. Voir OASIS listes de codes

http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=codelist

Plus de détails peuvent être trouvés ici:

http://www.genericode.org/

Il est utilisé dans le Universal Business Language OASIS (UBL) http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ubl

Cordialement, George

Questions connexes