【发布时间】:2015-08-14 10:37:58
【问题描述】:
我编写了一个 XSLT 来处理一组 XML。
XSLT 处理良好,但这些 XML 具有不同的编码集。目前我正在使用如图所示的输出标签:
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
但这会强制将编码更改为UTF-8,但我需要与实际 XML 文档中相同的值。
我怎样才能得到这个?
【问题讨论】:
-
没有纯粹的 XSLT 方法可以实现这一点,因为 XSLT 处理器不知道输入的编码。您在哪个环境(例如 .NET、Java)中使用 XSLT?您需要编写代码让 XML 解析器确定输入的编码,然后操作 XSLT 结果序列化的输出编码。
-
@MartinHonnen:这取决于您所说的“纯”。实际上,您可以在 XSLT 2.0 和 3.0 中做到这一点,而无需借助扩展功能。有了 XSLT 1.0(此处未指定),情况就不同了。
标签: xml xslt encoding preserve