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 :
En sortie, j'arrive au mieux à avoir ® mais pas le caractère spécial ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<text line-feed="true" base-line="SUPER" symbol-family="BODY_TEXT" symbol-value="00AE"/>
voici l'Xsl en question
Que j'utilise le cdata ou les variable n'y change rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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
Partager