如何将XML十六进制实体解码为XSLT中的对应字符? 上下文
我正在使用处理字体文件,并使用将字体转换为SVG文件。然而,Batik XML给出的输出编码了最初的中文字形 当前XML如何将XML十六进制实体解码为XSLT中的对应字符? 上下文,xslt,svg,fonts,hex,xslt-1.0,Xslt,Svg,Fonts,Hex,Xslt 1.0,我正在使用处理字体文件,并使用将字体转换为SVG文件。然而,Batik XML给出的输出编码了最初的中文字形 当前XML 目标XML XSL模板 问题: 如何在XSLT 1.0中将XML十六进制实体解码为相应的字符?XSLT 2.0解决方案 对十六进制的解给出了一些提示→字符问题: :从字符串创建Unicode代码点序列 :从Unicode代码点序列创建字符串 您能更好地解释需求的性质吗?是否有声称接受XML输入但无法处理数字字符引用的下游进程?或者这只是一个表面要求:您希望XML
目标XML
XSL模板
问题:
如何在XSLT 1.0中将XML十六进制实体解码为相应的字符?XSLT 2.0解决方案
对十六进制的解给出了一些提示→字符问题:
- :从字符串创建Unicode代码点序列李>
- :从Unicode代码点序列创建字符串
指定UTF-8输出编码。现在还不清楚你为什么认为你需要在这里做任何事情。Batik生成的输出和您想要的表单包含完全相同的信息,并且将由任何一致的XML解析器进行相同的处理。坚持使用特定的编码看起来有点像图腾崇拜。我知道XML实体代表字符,但对人类来说,使用字符而不是实体真的要容易得多。这是使用支持XML的编辑器以扩展形式显示字符的一个很好的理由。
<glyph unicode="豈" glyph-name="null" horiz-adv-x="256" d="…" />
<glyph unicode="豈" glyph-name="null" horiz-adv-x="256" d="…"/>
<xsl:template match="svg:glyph" mode="from-block">
<xsl:copy-of select="." disable-output-escaping="yes" />
<xsl:apply-templates />
</xsl:template>