【问题标题】:using different encodings with xslt对 xslt 使用不同的编码
【发布时间】:2012-09-13 19:13:37
【问题描述】:

对 xml 文档和 xslt 使用不同的编码会有什么影响。

xslt 样式表的输出编码为 UTF-8,输入 xml 没有声明编码,并且将使用字符串生成,xslt 内部将是:

<xsl:variable name="doc" select="document('file.xml')"/>

文件是 iso-8859-1。

使用不同的编码会影响输出吗?

【问题讨论】:

  • 猜测:根据你使用的转换器实现,你会得到不同的结果。如果没有声明编码,我怀疑将使用操作系统编码(在不同的计算机上会有所不同)。简单的出路:在utf8中做所有事情 :)

标签: java xml xslt


【解决方案1】:

XSLT 操作的树是抽象对象,通常(但不一定)通过解析 XML 文档创建。这些抽象树中的字符来自 ISO 10646 和 Unicode 的字符库;在构建任何树的表示之前,XML 解析器会对用于输入 XML 的编码中的任何变化进行调整。

因此,您的问题的答案是:如果使用的 XML 解析器知道输入编码,则不同编码对输入的影响为零。如果 XML 解析器不知道并且不接受编码,结果将是 XSLT 引擎根本无法读取输入。

【讨论】:

    猜你喜欢
    • 2011-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2016-03-03
    相关资源
    最近更新 更多