Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Ève

Fiche de lecture : XML Schema

Auteur(s) du livre : Eric van der Vlist
Éditeur : O'Reilly
0-596-00252-1

Première rédaction de cet article le 16 janvier 2006


Il existe désormais trois langages courants pour écrire des schémas XML c'est-à-dire pour décrire les éléments autorisés ou interdits dans un document XML. La norme du W3C, souvent appelée abusivement "schéma" tout court (une erreur que ce livre commet aussi) est la plus connue.

La norme "W3C Schema" est très complexe : mais ce livre réussit à l'exposer de manière simple, en commençant par un schéma minimum, puis en le compliquant au fur et à mesure que l'on souhaite décrire d'autres propriétés du langage qu'on développe. Il y a un seul fil conducteur dans le livre pour tous les exemples (une bibliothèque, avec description des livres) et cela facilite la plongée progressive dans les arcanes de XSD (autre nom des "W3C Schema").

L'auteur expose donc les schémas plats (où tous les éléments sont au même niveau) et les schémas en poupée russe, où les élément sont emboîtés. Il s'attaque ensuite au deuxième volet de XSD, après la structure du document : les types de données. Il expose en grand détail comment utiliser les types prédéfinis puis comment créer les siens.

À ce stade, on peut écrire son schéma (et c'est ce que j'ai fait avec succès). Mais les points plus subtils de l'écriture de schémas font ensuite l'objet d'un chapitre chacun (la documentation, la création de schémas qui pourront facilement être étendus, les espaces de noms...)

Personnellement, mes seuls manques ont été un chapitre de présentation de certaines normes utilisant les W3C Schemas (ce sont souvent de grosses normes très complexes et un tour d'introduction serait le bienvenu) et un autre chapitre sur les outils existants (validateurs, éditeurs).

En résumé, voici un excellent livre, par un auteur très compétent, qui est également l'auteur du livre "concurrent" chez O'Reilly, sur RelaxNG.

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)