我需要在ASCII文本格式文件,我使用下面的代码XSLT ASCII文本格式
<xsl:output method="xml" indent="yes" encoding="US-ASCII"/>
但它似乎并没有工作的任何想法,我怎样才能使它发挥作用?
我需要在ASCII文本格式文件,我使用下面的代码XSLT ASCII文本格式
<xsl:output method="xml" indent="yes" encoding="US-ASCII"/>
但它似乎并没有工作的任何想法,我怎样才能使它发挥作用?
有可能您的XSLT引擎不支持ASCII
的xml
输出方法,然后自动切换到UTF-8
或UTF-16
。您可以使用这个最小的XSLT样式表进行试用:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes" encoding="US-ASCII"/>
<xsl:template match="/">
<root>ä</root>
</xsl:template>
</xsl:stylesheet>
如果通过处理器运行它,撒克逊:
$ saxonb-xslt -s:test.xsl -xsl:test.xsl
的结果应该是这样的,如果ASCII支持:
<?xml version="1.0" encoding="US-ASCII"?>
<root>ä</root>
如果不是的话,你需要一个后处理步骤。 xmllint
合理的最新版本可以做到这一点:
xmllint --encode US-ASCII intermediate.xml > final.xml
更确切地说:“它似乎并没有工作”是什么意思? –
我很需要ASCII的动机。几乎可以肯定,一个将文件处理为XML的下游进程可以使用UTF-8等文档编码,因为每个XML文档都是一系列Unicode字符。而且,不理解XML的下游流程应该能够处理二进制文件。你的场景是什么? –