Le langage XSL permet de présenter visuellement des éléments définis dans un document XML alors que le langage XML (eXtended Markup Language) définit plutôt la sémantique (le sens) des données.
Le langage XSL se divise en trois parties principales :
La partie formatage du langage XSL (eXtensible Stylesheet Language) a une fonction semblable à celle du langage CSS (Cascading StyleSheet).
Un ensemble de propriétés de style permet de contrôler la présentation des données à l'écran.
Ainsi, un document XML pourra être mis en forme pour un affichage sur un moniteur informatique, un écran de télévision ou pour l'impression ou encore pour une version auditive.
Le langage XSL, par une série de règles de transformation, remplace les éléments XML et leurs attributs en balisage HTML (HyperText Markup Language) ou en d'autres marqueurs XML. Cette section du langage XSL s'appelle XSLT soit Langage des feuilles de Style de Transformation dont les spécifications sont mises au point par le W3C (Worl Wide Web Consortium).
Par des règles de transformation, les données textuelles contenues dans les éléments XML ou dans leurs attributs sont présentés selon le résultat de la génération d'un balisage HTML.
Une feuille de style XSL peut entièrement réorganiser les éléments XML en sélectionnant des éléments et leurs attributs puis en les transformant en d'autres éléments.
Cette fonctionnalité peut être utilisée lorsqu'un document XML doit être intégré dans un ensemble d'autres documents XML. Si les éléments ne correspondent pas, alors il est nécessaire de les transformer afin de les rendre compatibles.
Le fonctionnement du langage XSL s'effectue selon des règles de style applicables à différent motif d'un document XML.
Ainsi, tous les motifs énoncés par la feuille de style et trouvés dans le document XML par un processeur XSL, sont soit formatés, soit transformés en une combinaison textuelle spécifique.
L'exemple ci-dessous montre un exemple complet regroupant un document XML et sa feuille de style XSL.
Exemple [voir]<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?> <?xml-stylesheet type="text/xsl" href="./style.xsl"?> <!DOCTYPE poesie [ <!ELEMENT poesie (titre,texte,auteur)> <!ELEMENT titre (#PCDATA)> <!ELEMENT texte (#PCDATA)> <!ELEMENT auteur (#PCDATA)> ]> <poesie> <titre>Locution des pierrots</titre> <texte> Je ne suis qu'un viveur lunaire Qui fait des ronds dans le bassin Et cela, sans autre dessein Que de devenir légendaire. Retroussant d'un air de défin Mes manches de Mandarin pâle, J'arrondis ma bouche et - j'exhale Des conseils doux de Crucifix Ah! oui, devenir légendaire, Au seuil des siècles charlatans ! Mais où sont les Lunes d'antan ? Et que Dieu n'est-il à refaire ? </texte> <auteur>Jules Laforgue</auteur> </poesie> <!-- Feuille de style : style.xsl --> <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/xhtml1/strict"> <xsl:output method="html" encoding="ISO-8859-1"/> <xsl:template match="/"> <html> <xsl:apply-templates/> </html> </xsl:template> <xsl:template match="poesie"> <head> <title> <xsl:value-of select="titre"/> </title> </head> <body> <h2 align="center"> <xsl:value-of select="titre"/> </h2> <div align="center"> <pre> <xsl:value-of select="texte"/> </pre> </div> <h4 align="center"> <xsl:value-of select="auteur"/> </h4> </body> </xsl:template> </xsl:stylesheet> |