Le fait que la traduction de schémas Relax NG en schémas W3C XML Schema soit considérée comme impossible n'a pas été une raison suffisante pour James Clark, qui a présenté à XML 2002 l'état d'avancement de Trang, son traducteur de schémas multi-formats.
Eric van der Vlist,
Dyomedea (vdv@dyomedea.com).
jeudi 19 décembre 2002
Bien qu'il ne soit pas possible de traduire tous les schémas Relax NG en schémas W3C XML Schema, James Clark a fait l'hypothèse que dans la plupart des cas un convertisseur suffisamment intelligent pour comprendre les intentions de l'auteur d'un Schema Relax NG devrait être capable d'écrite un schéma W3C XML Schema et que ce schéma pourrait être à la fois une bonne approximation et aussi lisible qu'un schéma écrit directement en W3C XML Schema. Sa présentation a montré que son hypothèse n'est pas loin d'être vérifiée!
Pour cela, James Clark a dû faire abstraction des constructions syntaxiques des deux langages de schémas et définir un modèle de données intermédiaire entre Relax NG et W3C XML Schema. La traduction se fait donc en deux étapes: le schéma Relax NG est lu et stocké dans ce modèle de données et des critères sont appliqués sur cette structure pour choisir quels éléments W3C XML Schema doivent être utilisés pour obtenir les meilleurs résultats en terme de fidélité au schéma initial et de lisibilité du schéma généré.
Sur les exemples présentés par James Clark les résultats sont époustouflants et il m'a confié que l'écriture de Trang a été beaucoup plus complexe que celle de son implémentation Relax NG.
Il semble que le jeu en vaille la chandelle et qu'il y ait une forte demande pour un tel outil: de nombreux développeurs sont attirés par Relax NG mais doivent publier des schémas W3C XML Schema pour leur utilisation par un nombre croissant d'outils (Office 11 par exemple ne supporte que W3C XML Schema). Grâce à Trang, James Clark a maintenant une réponse toute simple: "ne vous ennuyez pas avec W3C XML Schema, écrivez vos schémas avec Relax NG et utilisez Trang pour les convertir".
Autres articles:
Copyright 2002,
Eric van der Vlist.
|