Это решение XSLT 2.0 :
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:my="my:my">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/*">
<xsl:value-of select=
"my:dec-to-hex(string-to-codepoints(normalize-space()))"/>
</xsl:template>
<xsl:variable name="vHexDigits" select="'0123456789ABCDEF'"/>
<xsl:function name="my:dec-to-hex" as="xs:string">
<xsl:param name="pDec" as="xs:integer"/>
<xsl:variable name="vQuot" select="$pDec idiv 16"/>
<xsl:variable name="vRemainder" select="$pDec mod 16"/>
<xsl:sequence select=
"if($pDec lt 16)
then substring($vHexDigits, $pDec+1, 1)
else
concat(my:dec-to-hex($vQuot),
substring($vHexDigits, $vRemainder+1, 1)
)
"/>
</xsl:function>
</xsl:stylesheet>
применительно к предоставленному документу XML:
<span style="font-family: Wingdings;"> </span>
производит именно искомое шестнадцатеричное представление:
F0D8