Transformer un document XML avec XSLT

Problème

Vous voulez écrire votre propre générateur de documents en prenant des fichiers XML comme modèles.

Solution

Utilisez libxslt. Créez une feuille de style XSL que vous chargez en mémoire avec xsltParseStylesheetFile(). Chargez en mémoire le document XML que vous voulez transformer, à l’aide d’une des méthodes vues dans la première recette, par exemple xmlParseFile(). Vous obtiendrez le document en appliquant la fonction xsltApplyStylesheet(). Le document peut ensuite être sauvegardé dans un fichier avec xsltSaveResultToFile().

Discussion

La création d’un générateur de documents s’effectue facilement à l’aide des transformations XSLT et de la bibliothèque libxslt. Nous utilisons en effet une feuille de style XSL que nous appliquons sur des documents XML chargés comme nous avons pu voir dans la recette "Lire un document XML". Nous allons pour illustrer cela utiliser notre exemple de document XML sur les objets de Messier, et le transformer en un fichier HTML, à l’aide de la feuille de style suivante (à mettre dans un fichier, messier.xsl par exemple) :


<?xml version="1.0" encoding="ISO-8859-1"?> 
 
<xsl:stylesheet version="1.0" 
                    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
  <xsl:output method="html" 
            encoding="ISO-8859-1" ...
Pour consulter la suite, découvrez le livre suivant :
couv_EI3CACT.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Lire un flux de données XML
Suivant
Introduction