Sun a publié la version de travail 0.7 de la spécification JAXB (Java Architecture for XML Binding) introduisant un support partiel et controversé de W3C XML Schema.
Eric van der Vlist,
Dyomedea (vdv@dyomedea.com).
mardi 24 septembre 2002
JAXB définit l'architecture et les API permettant de sérialiser et désérialiser des objets Java en fragments XML. Suivant en cela des produits existants tels que Castor ou Zeus, JAXB se repose sur des schémas W3C XML Schema pour définir la structure des documents XML.
Elliotte Rusty Harold en rejette le principe même sur Cafe Con Leche:
"JAXB compile un schéma XML en une ou plusieurs classes Java (Première erreur: JAXB suppose qu'il y a un schéma. Deuxième erreur: il suppose que le schéma est écrit avec le langage W3C XML Schema. Troisième erreur: il suppose que les documents sont conformes au schéma)."
Un lecteur moins radical remarquera que JAXB introduit de manière explicite un sous ensemble de W3C XML Schema qu'une implémentation JAXB devra supporter pour mériter une estampille JAXB et une liste de "concepts W3C XML Schema non exigés" qu'elles peuvent ignorer. On notera notamment que, paradoxalement, cette liste de fonctions facultatives comprend des fonctions "orientées objets" de W3C XML Schema telles que la redéfinition des déclarations, la substitution de types dans les instances de documents, les groupes de substitution et des attributs de contrôle de dérivation ainsi que les contraintes d'intégrités basées sur XPath.
Enfin, si l'on a souvent eu l'occasion de déplorer les divergences d'implémentation de W3C XML Schema, c'est la première fois qu'une spécification définit de manière aussi explicite un "profil sur mesure" W3C XML Schema semblant ouvrir la voie à une utilisation "à la carte" de cette recommandation.
Autres articles:
Copyright 2002,
Eric van der Vlist.
|