Nous avons vu dans l'exemple précédent comment générer du HTML. Pour éviter les problèmes de codage de caractères non ascii, il est d'usage d'utiliser en HTML des entités nommées. Par exemple, le caractère è s'écrit è, é s'écrit é, € s'écrit €... Cependant, si l'on écrit le template suivant : <xsl:template match="/">
le processeur XSLT signale l'erreur suivante : the
entity "eacute" was referenced but not declared.<html> <body> Ils étaient tous assis autour du feu... </body> </html> </xsl:template> En XML, seules les entités &, < et > sont connues. Ainsi, pour générer la sortie "é", on peut écrire :
Une autre solution est de déclarer des entités nommées (les nombres suivant &# sont les codes ascii-étendu des caractères correspondant) : <!DOCTYPE xsl:stylesheet [
<!ENTITY eacute "é"> <!ENTITY egrave "è"> ... ]> <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'> <xsl:template match="/"> <html> <body> Ils étaient tous assis autour du feu... </body> </html> </xsl:template> </xsl:stylesheet> Liens
|