Exemple : Un programme XSLT pour générer du HTML

ExempleFichier XML source

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="iso-8859-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>
<?xml version="1.0" encoding="iso-8859-1"?>
<document titre="XSLT">

<!--Première division-->

<div titre="XSLT : Un besoin">
<paragraphe>XML est un format de <important>représentation</important> de l'information.</paragraphe>
<paragraphe>XML n'est pas un format de présentation.</paragraphe>
</div>

<!--Seconde division-->

<div titre="XSLT : Un langage">
<paragraphe>XSLT est un langage de <important>manipulation</important> de documents XML.</paragraphe>
<paragraphe>XSLT est utilisé pour exporter une source XML sous un autre format, par exemple HTML.</paragraphe>
</div>
</document>

ExempleFichier HTML cible souhaité

CTRL+C pour copier, CTRL+V pour coller
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>
<HTML>

<!--Head-->

<HEAD
<TITLE>XSLT</TITLE>
<META content="text/html" charset="iso-8859-1"/>
</HEAD>

<!--Body-->

<BODY>
<H1>XSLT : Un besoin</H1>
<P>XML est un format de <B>représentation</B> de l'information.</P>
<P>XML n'est pas un format de présentation.</P>
<H1>XSLT : Un langage</H1>
<P>XSLT est un langage de <B>manipulation</B> de documents XML.</P>
<P>XSLT est utilisé pour exporter une source XML sous un autre format, par exemple HTML</P>
</BODY>
</HTML>

ExempleProgramme XSLT permettant la transformation

CTRL+C pour copier, CTRL+V pour coller
1
<?xml version="1.0" encoding="iso-8859-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>
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 <xsl:output method="html" indent="yes" encoding="iso-8859-1"/>

<!--1ère règle-->

 <xsl:template match="document">
  <HTML>
   <HEAD
    <TITLE><xsl:value-of select="@titre"/></TITLE>
    <META content="text/html" charset="iso-8859-1"/>
   </HEAD>
   <BODY>
    <xsl:apply-templates/>
   </BODY>
  </HTML>
 </xsl:template>

<!--2nde règle-->

 <xsl:template match="div">
  <H1><xsl:value-of select="@titre"/></H1>
  <xsl:apply-templates/>
 </xsl:template>

<!--3ème règle-->

 <xsl:template match="paragraphe">
  <P><xsl:apply-templates/></P>
 </xsl:template>

<!--4ème règle-->

 <xsl:template match="important">
  <B><xsl:value-of select="."/></B>
 </xsl:template>
</xsl:stylesheet>