La transformation ou le formatage permet d'afficher sur le navigateur Internet d'un ordinateur client, les données d'un document XML structurées en conformité avec les règles de style d'un document XSL.
Selon la méthode de sortie de la feuille de style, le document résultant peut être généré en HTML, en texte brut ou en une autre arborescence XML.
Le processus de transformation ou de formatage d'un document XML peut s'effectuer par trois moyens distincts.
Ces trois moyens nécessitent diverses ressources logiciels, mais tous font appel à un langage XSL identique sans injection d'instructions spécifiques.
La première solution demande à l'ordinateur client de posséder impérativement un navigateur compatible avec les technologies XML à l'image d'Internet Explorer 6.0 ou Netscape 6.1.
La seconde solution demande un aménagement logiciel du serveur web avec par exemple, un programme XML Enabler d'IBM, afin de le rendre compatible aux technologies XML/XSL.
Enfin, la dernière solution consiste à installer un moteur de transformation XML nommé XT (XML Transformer) associé à un analyseur (ou parser) conforme à SAX (Simple API for XML) ou DOM (Document Object Model).
De nombreux programmes permettent de mettre à niveau son serveur :
L'analyse d'un document XML peut être accomplie selon deux méthodes.
Le DOM (Document Object Model) autorise la gestion de l'ensemble d'un document. Dans ce cas, la source XML est entièrement analysée par rapport au DTD (Document Type Definition) ou au schéma (XSchema) associé. Si le document est conforme aux règles structurelles énoncées alors le parser le valide, subséquemment peut commencer la manipulation de l'arborescence XML par un programme.
Le DOM possède un inconvénient du fait de l'analyse complète d'un document XML avant traitement. En effet, si la source XML est volumineuse, l'analyse risquerait d'affecter les performances d'un serveur.
Le SAX (Simple API for XML) permet de traiter événementiellement un document XML. Les éléments contenus dans le document XML sont analysés au fur et à mesure de leur exploitation par un programme de formatage. Ainsi, seuls les éléments utilisés sont soumis à une validation par le parser.
En fait, lorsque l'analyseur SAX rencontre un nouveau noeud (racine, élément, attribut, données textuelles analysées, instruction de traitement, espace de noms ou commentaire), est créé un événement que réceptionne le programme de transformation. En fonction de ces prérogatives, le programme déclenchera l'analyse puis traitera le noeud concerné.
Contrairement au DOM, SAX consomme moins de ressources machines et en conséquence s'adapte idéalement au traitement de document XML volumineux. DOM sera préféré pour des sources XML plus légères.
Par ailleurs, un processeur XML peut être validant ou non-validant ou les deux.
Ce type doit être pris en considération, en fonction du genre d'activité souhaitée.
Un parser non-validant est forcément plus performant.
Cependant, l'arborescence du document XML ne sera pas analysée en conformité avec son DTD ou son schéma. Autrement dit le document XML sera obligatoirement bien formé mais risquera d'être non-valide.
En outre, les entités analysées ne pourront faire l'objet de substitutions textuelles dans le document réultant puisque le DTD ne sera pas pris en compte dans le traitement de la source XML.
En raison de ce genre de problèmes, il est préférable d'utiliser un analyseur XML validant.
En savoir plus :