Différences entre XML 1.0 et XML 1.1
Le premier document est un brouillon (working draft), dont le rôle initial n'était pas d'être une référence de la différence entre les deux versions d'XML. Et c'est par hasard que ce brouillon de XML 1.1 a été écrit en désignant les différences entre XML 1.0 et 1.1. XML 1.1 working draft
Le deuxième document, est dans l'introduction de la spécification XML 1.1. Il faudra remarquer à titre notoire que la production principale, la production [1] qui défini la structure général d'un document est différente dans les deux cas :
XML 1.1 dit : [1] document ::= ( prolog element Misc* ) - ( Char* RestrictedChar Char* )
XML 1.0 dit : [1] document ::= prolog element Misc*
La migration d'une version à l'autre d'une spécification à l'autre, quelque soit son domaine, est rarement sans poser difficultés. C'est l'objet du troisième document concernant la différence entre les deux versions d'XML. Le titre du document laisse un doute sur la sagesse de son contenu, mais il contient des retours d'expériences en situation réelle. XML 1.1 dead on arrival
Indenticité de deux document : canonicalisation XML
Tout comme en mathématique, le meilleur moyer de comparer deux structure/équation/fonction, est de les mettre sous forme canonique, il existe une forme canonique pour XML, permettant de comparer deux documents XML, et d'éclairer les différences qui changent ou préserve la sémantique d'un document XML. On est ici à un nouveau sémantique abstrait, bien entendu, c'est à dire au niveau des données, et non pas de l'interprétation humaine des documents. Canonical XML Exclusive XML Canonicalization
Les espaces de noms XML
Comme tous les langages moderne et évolués (Ada,Pascal,Java), XML permet d'organiser des systèmes en modules, et de faire références aux différents modules de manière non ambigü, sans que ceux ci ne se recouvrent et n'entre en conflit. Ceci est permis grâce aux espace de nom (le fonctionnement des espaces de nom en XML ressemble beaucoup aux espaces de nom Ada et C++). Il est possible, pour plus de lisibilité, et pour éviter les conflit entre nom d'espece de nom identique dans un document, de choisir sous quel espace de nom un espace sera accessible. En dehors de leurs noms qu peuvent parfois être identique, les espaces doivent néanmoins se voir associé un identificateur absolu et non ambigü. De nos jours, une simple URL remplie parfaitement ce rôle. XML Namespaces
Ce post sera mis à jours occasionellement (et d'abord dans les jours qui viennent )