xsltproc
jfp% xsltproc listtxt.xsl ../ExInter/ExInter.xml
Voici une liste de pays avec leurs capitales
France : Paris
España : Madrid
Česko : Praha
Україна : Київ
България : София
Ελλάς : Αθήνα
Россия : Москва
საქართველო : თბილისი
Հայաստան : Երեւան
भारत : नई दिल्ली
தமிழ்_நாடு : ென்னை
ประเทศไทย : กรุงเทพฯ
Việt_Nam : Hà Nội
中華 : 北京
日本国 : 東京
jfp%
xsltproc
: le nom du fichier "feuille de style" en 1er argument, en 2nd celui du
fichier XML "données".xsltproc
avec un premier
argument "feuille de style" a pour effet
d'utiliser la feuille passée en argument et non pas celle qui
est indiquée dans le
fichier XML : <?xml-stylesheet type="text/xsl"
href="list.xsl"?>
jfp% xsltproc ../ExInter/ExInter.xml
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Visualisation</title>
</head>
<body>
<h2> Voici une liste de pays avec leurs capitales</h2>
<ul>
<li>France :
Paris</li>
<li>España :
Madrid</li>
<li>Česko :
Praha</li>
<li>Україна :
Київ</li>
<li>България :
София</li>
<li>Ελλάς :
Αθήνα</li>
<li>Россия :
Москва</li>
<li>საქართველო :
თბილისი</li>
<li>Հայաստան :
Երեւան</li>
<li>भारत :
नई दिल्ली</li>
<li>தமிழ்_நாடு :
ென்னை</li>
<li>ประเทศไทย :
กรุงเทพฯ</li>
<li>Việt_Nam :
Hà Nội</li>
<li>中華 :
北京</li>
<li>日本国 :
東京</li>
</ul>
</body>
</html>
jfp%
list.xsl
donnée dans le cours, trois étapes :xsl:output method
de "html"
à "text"
,
et suppression des éléments HTML.<xsl:strip-space
elements="*" />
.<!DOCTYPE xsl:stylesheet [On obtient ainsi le résultat illustré ci-dessus.
<!ENTITY tab "	">
<!ENTITY nl " ">
]>
listtxt.xsl
<?xml version='1.0'?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY tab "	">
<!ENTITY nl " ">
]>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version='1.0'>
<xsl:output method="text" encoding="utf-8" />
<xsl:strip-space elements="*" />
<xsl:template match="/">
<xsl:text>Voici une liste de pays avec leurs capitales </xsl:text>
<xsl:apply-templates/>
</xsl:template>
<xsl:template match="Capitales/*">
<xsl:text>&tab;</xsl:text>
<xsl:value-of select="name()"/><xsl:text> : </xsl:text><xsl:value-of select="."/>
<xsl:text>&nl;</xsl:text>
</xsl:template>
</xsl:stylesheet>
qr.xml
est lié à la
feuille de style HtmlMIL.xsl
qui
produit du HTML, xsltproc qr.xml
devrait engendrer <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Programme MIL</title>
</head>
<body><pre>VAR a; b; q; r; LIRE a ;
LIRE b ;
q := 0 ;
r := a ;
TANTQUE t >= b FAIRE
q := q + 1 ;
r := r - b
FINTQ ;
ECRIRE q ;
ECRIRE r
.</pre></body>
</html>
VAR a; b; q; r...
" :LIRE a ;
"
;LIRE a ;
". PrettyMIL.xsl
)<xsl:template match="Variables/Var[position() != last()]">
<xsl:value-of select="@nom"/>
<xsl:text>; </xsl:text>
</xsl:template>
<xsl:template match="Variables/Var[position() = last()]">
<xsl:value-of select="@nom"/>
<xsl:text>. </xsl:text>
</xsl:template>
PrettyMIL
au
lieu de HtmlMIL
qui se borne
à produire un cadre HTML. Pour obtenir l'effet annoncé dans le
cours, il suffit donc de commanderxsltproc
../MIL/PrettyMIL.xsl ../MIL/qr.xml
" avec deux arguments.jfp% xsltproc ../MIL/PrettyMIL.xsl ../MIL/qr.xml
VAR a; b; q; r; LIRE a ;
LIRE b ;
q := 0 ;
r := a ;
TANTQUE t >= b FAIRE
q := q + 1 ;
r := r - b
FINTQ ;
ECRIRE q ;
ECRIRE r
.
jfp%
qr.xml
) ...jfp% java Trsf listtxt.xsl ../ExInter/ExInter.xml
Voici une liste de pays avec leurs capitales
France : Paris
España : Madrid
Česko : Praha
Україна : Київ
България : София
Ελλάς : Αθήνα
Россия : Москва
საქართველო : თბილისი
Հայաստան : Երեւան
भारत : नई दिल्ली
தமிழ்_நாடு : ென்னை
ประเทศไทย : กรุงเทพฯ
Việt_Nam : Hà Nội
中華 : 北京
日本国 : 東京
jfp%
jfp% java Trsf ../MIL/PrettyMIL.xsl ../MIL/qr.xml
VAR a; b; q; r.
LIRE a ;
LIRE b ;
q := 0 ;
r := a ;
TANTQUE t >= b FAIRE
q := q + 1 ;
r := r - b
FINTQ ;
ECRIRE q ;
ECRIRE r
.jfp%
xsltproc
.