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