XSL : eXtensible Stylesheet Language

XSLT

1. Définition

XSLT (eXtensible Stylesheet Language Transformation soit langage de feuilles de style de transformation) est la technologie principale de XSL, qui lui est souvent assimilée.

Le langage XSLT permet de dériver des documents XML à partir de feuilles de style qui contiennent les règles de transformation (les template rules).

2. Le processus de transformation

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 via les règles de style (template rules) d'un document XSL.

Pour cela un composant logiciel prend en entrée un fichier de données XML et lui applique les transformations décrites dans la feuille de style XSL pour fournir un autre document en sortie. Ce composant logiciel est le processeur XSLT.

Source XML + feuille de style XSL => Document de sortie (XML, HTML, PDF...)

Le processus de formatage/transformation peut s’effectuer de 3 manières distinctes :

3. Structure générale d'une feuille de style XSLT

Une feuille de style XSLT doit impérativement suivre les règles suivantes :

  1. Une feuille de style XSLT est un fichier dont l’extension est .xsl
  2. La déclaration de l’espace de noms s’effectue en associant un préfixe à une URI (comme dans tout document XML) dans l’élément racine de la feuille de style.
  3. Afin de reconnaître les éléments et attributs des espaces de noms XSL, le processeur XSLT a besoin de les identifier clairement ; les éléments de feuille de style XSLT utilisent le préfixe xsl:.

Exemple pour une feuille de style XSLT pour un formatage en HTML :

<?xml version="1.0" encoding="ISO-8859-1" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<html>
		<body>
			Instructions XSLT
		</body>
	</html>
</xsl:stylesheet>

4. Exemple d'une feuille de style XML to HTML

Considérons le fichier toto.xml suivant :

<?xml version="1.0" encoding="ISO-8859-1" ?>
	<PARAM>
		<Xx>Toto</Xs>
	</PARAM>
	<PARAM>
		<Xx>Tata</Xs>
	</PARAM>

Si on lui applique la feuille de style style.xsl suivante :

<?xml version="1.0" encoding="ISO-8859-1" ?>
Déclaration du namespace spécifiant la nature XSL du document
	<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
La balise suivante indique que tout ce qui suit sera appliqué à tout le document XML grâce au symbôle « / »
	<xsl:template match="/">
	<html>
		<body>
La balise suivante permet d’appliquer à tous les elements XML décrits par l’attribut select la suite des instructions encadrées par <xsl:for-each>…</xsl:for-each>
			<xsl:for-each select= “PARAM”>
La balise <xsl :value-of> permet de récupérer le texte contenu à l’intérieur des éléments Xx
				<li><xsl:value-of select=“Xx”/></li>
			</xsl:for-each>
		</body>
	</html>
	</xsl:stylesheet>

On obient le code HTML suivant :

<html>
	<body>
		<li>Toto</li>
		<li>Tata</li>
	</body>
</html>

5. Conclusion

Il existe de nombreuses autres fonctions XSLT qui permettent d'effectuer de nombreuses opérations comme par exemple des opérations sur les chaînes de caractères.

Pour plus d'informations, veuillez consulter la page de liens.

XSLT intègre également un mécanisme de sélection des données à exporter : c’est la syntaxe XPath qui va permettre à XSLT d’accéder aux différentes parties du document XML.