我正在尝试使用 XSLT 文本输出来生成文件(以我无法控制的文件格式),虽然它主要是文本,但它包括低阶不可打印字符作为标志,包括字符在 XLST 文件中无效(根据 XSLT 规范)。
我希望像下面这样的东西可以工作,但它不是有效的 XSLT 文件,因为它包含 XSLT 文件中不允许的字符:
<?xml version="1.0" encoding="US-ASCII" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="text" encoding="US-ASCII"/>
<xsl:template match="/"></xsl:template>
</xsl:stylesheet>
我收到以下错误:
[Fatal Error] :4:35: Character reference "" is an invalid XML character.
ERROR: 'Character reference "" is an invalid XML character.'
FATAL ERROR: 'Could not compile stylesheet'
我也尝试过使用实际字符 1,有或没有 CDATA 部分、xsl:text 元素、xslt-2 字符映射、几种不同的编码,但我不知道如何用二进制获取 ascii 字符代码 = 1。
我不得不对输出进行后处理,这并不理想。
有没有办法从 XSLT 生成单个低阶不可打印字符输出?
环境:Java 6,内置 XSL Transformer。