Exemple : Un programme XSLT pour générer du HTML
Exemple : Fichier XML source
1
2
<document titre="XSLT">
3
4
<!--Première division-->
5
6
<div titre="XSLT : Un besoin">
7
<paragraphe>XML est un format de <important>représentation</important> de l'information.</paragraphe>
8
<paragraphe>XML n'est pas un format de présentation.</paragraphe>
9
</div>
10
11
<!--Seconde division-->
12
13
<div titre="XSLT : Un langage">
14
<paragraphe>XSLT est un langage de <important>manipulation</important> de documents XML.</paragraphe>
15
<paragraphe>XSLT est utilisé pour exporter une source XML sous un autre format, par exemple HTML.</paragraphe>
16
</div>
17
</document>
Exemple : Fichier HTML cible souhaité
1
<HTML>
2
3
<!--Head-->
4
5
<HEAD
6
<TITLE>XSLT</TITLE>
7
<META content="text/html" charset="iso-8859-1"/>
8
</HEAD>
9
10
<!--Body-->
11
12
<BODY>
13
<H1>XSLT : Un besoin</H1>
14
<P>XML est un format de <B>représentation</B> de l'information.</P>
15
<P>XML n'est pas un format de présentation.</P>
16
<H1>XSLT : Un langage</H1>
17
<P>XSLT est un langage de <B>manipulation</B> de documents XML.</P>
18
<P>XSLT est utilisé pour exporter une source XML sous un autre format, par exemple HTML</P>
19
</BODY>
20
</HTML>
Exemple : Programme XSLT permettant la transformation
1
2
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
3
<xsl:output method="html" indent="yes" encoding="iso-8859-1"/>
4
5
<!--1ère règle-->
6
7
<xsl:template match="document">
8
<HTML>
9
<HEAD
10
<TITLE><xsl:value-of select="@titre"/></TITLE>
11
<META content="text/html" charset="iso-8859-1"/>
12
</HEAD>
13
<BODY>
14
<xsl:apply-templates/>
15
</BODY>
16
</HTML>
17
</xsl:template>
18
19
<!--2nde règle-->
20
21
<xsl:template match="div">
22
<H1><xsl:value-of select="@titre"/></H1>
23
<xsl:apply-templates/>
24
</xsl:template>
25
26
<!--3ème règle-->
27
28
<xsl:template match="paragraphe">
29
<P><xsl:apply-templates/></P>
30
</xsl:template>
31
32
<!--4ème règle-->
33
34
<xsl:template match="important">
35
<B><xsl:value-of select="."/></B>
36
</xsl:template>
37
</xsl:stylesheet>