[XSL] Caractères spéciaux
Bonjour,
J'ai un xsl qui parse un Xml vers un xsl-fo mais je n'arrive pas à afficher correctement. Les deux fichier sont encodé en UTF-8. Dans l'Xml, les caractère spéciaux sont codé comme suis :
Code:
1 2
|
<text line-feed="true" base-line="SUPER" symbol-family="BODY_TEXT" symbol-value="00AE"/> |
En sortie, j'arrive au mieux à avoir ® mais pas le caractère spécial ...
voici l'Xsl en question
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
<xsl:template match="@symbol-value">
<xsl:param name="contents"/>
<xsl:variable name="rolo">
<xsl:value-of select="."/>
</xsl:variable>
<xsl:variable name="rolo2">
<xsl:value-of disable-output-escaping="yes" select="concat('&#x',$rolo, ';' )"/>
</xsl:variable>
<xsl:copy-of select="$rolo2"/>
<!-- <![CDATA[&#x]]>&#x<xsl:value-of select="."/>; -->
</xsl:template> |
Que j'utilise le cdata ou les variable n'y change rien.
J'ai une solution de rechange, à savoir, faire un template par caractére spécial du genre <xsl:template match="@symbol-valuee[.='value']"> mais ce serait assez fastidieux à maintenir :(