Usar una entidad HTML en XSLT (por ejemplo, )
¿Cuál es la mejor manera de incluir una entidad html en XSLT?
<xsl:template match="/a/node">
<xsl:value-of select="."/>
<xsl:text> </xsl:text>
</xsl:template>
este devuelve un XsltParseError
Puedes usar la sección CDATA
<xsl:text disable-output-escaping="yes"><![CDATA[ ]]></xsl:text>
o puedes describir en DTD local:
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> ]>
o simplemente usar  
en lugar de
También es posible ampliar el enfoque desde la segunda parte de la respuesta de aku y obtener todas las referencias de personajes conocidos disponibles, como esta:
<!DOCTYPE stylesheet [
<!ENTITY % w3centities-f PUBLIC "-//W3C//ENTITIES Combined Set//EN//XML"
"http://www.w3.org/2003/entities/2007/w3centities-f.ent">
%w3centities-f;
]>
...
<xsl:text> −30°</xsl:text>
Hay cierta diferencia en el resultado en comparación con <xsl:text disable-output-escaping="yes">
el enfoque. Este último producirá cadenas literales como
para todo tipo de salida, incluso para <xsl:output method="text">
, y esto puede ser diferente de lo que usted podría desear... Por el contrario, obtener entidades definidas para la plantilla XSLT a través de <!DOCTYPE ... <!ENTITY ...
siempre producirá una salida consistente. con su xsl:output
configuración.
Puede ser aconsejable entonces utilizar un solucionador de entidades local para evitar que el motor XSLT obtenga definiciones de entidades de caracteres de Internet. Los usuarios de JAXP o Xalan-J explícitos pueden necesitar un parche para que Xalan-J utilice el solucionador correctamente. Consulte mi blog XSLT, entidades, Java, Xalan... para descargar parches y comentarios.
Otra posibilidad de utilizar entidades html desde xslt es la siguiente:
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
XSLT solo maneja las cinco entidades básicas de forma predeterminada: lt
, gt
, apos
, quot
y amp
. Todos los demás deben definirse como lo menciona @Aku .