Il arrive parfois en XML que le contenu d'une balise ne soit pas seulement du texte. En effet rien ne nous interdit de mettre du texte et des balises, par exemple :
<?xml version="1.0" ?> <document> <test> <machin> Bonjour tout <gras>le monde</gras> c'est moi ! </machin> </test> </document>
Maintenant en XSL comment fait-on pour traiter correctement la balise "machin" et la balise "gras" ?
On peut tout simplement ignorer la balise "gras".
<?xml version="1.0" ?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="test">
<div>
<xsl:value-of select="."/>
</div>
</xsl:template>
</xsl:stylesheet>
ce qui produira :
<div> Bonjour tout le monde c'est moi ! </div>
mais le mieux c'est quand même de la traiter !
<?xml version="1.0" ?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"/>
<xsl:template match="test">
<div>
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="test/text()">
<xsl:value-of select="."/>
</xsl:template>
<xsl:template match="gras">
<b>
<xsl:value-of select="."/>
</b>
</xsl:template>
</xsl:stylesheet>
ce qui produira :
<div> Bonjour tout <b>le monde</b> c'est moi ! </div>
Aucun commentaire:
Enregistrer un commentaire