xsl:include permet de fusionner les contenus de deux feuilles de styles. Les contenus des deux feuilles de styles fusionnées ont la même priorité.

L'inclusion est particulièrement utile lorsqu'il y a des bibiothèques partagées de fonctions. Plutôt de recopier le contenu dans chaque feuille de style, l'on utilise le contenu en incluant la (ou les) feuille(s) de style nécessaire(s).

Exemple

<xsl:include select="lib.xsl">

Permet de récupérer le contenu de la feuille de style lib.xsl.

Remarque

xsl:include ne permet pas d'utiliser des feuilles de style en paramètre. Ainsi :

<xsl:include href="$fichier"/>

provoquera une erreur.

En effet, la logique est la suivante : une feuille de style contient des données statiques. Si ces données sont amenées à changer, alors c'est qu'il s'agit de données dynamiques et donc que cela concerne le XML.

Pour contourner ce problème, il faut forcément passer par une feuille de style, toujours la même, qui ,elle, va s'occuper de gérer les données dynamiques soit en applelant ensuite la bonne feuille de style (si le nombre est connu et limité) ou bien un document xml (un fichier de paramètres, par exemple) qui sera interprété.

L'autre possibilité étant de générer dynamiquement la feuille de style. Mais l'on perd alors la capacité de valider le document, comme c'est le cas pour le XML (schéma, DTD, etc.)