XSLT-2.0:输出到文件

时间:2017-02-03 12:00:50

标签: xpath xslt-2.0 saxon

使用SaxonHE 9.7 / XPath-2.0

为什么此标识模板返回"不能将多个结果文档写入同一个URI"何时将其输出发送到文件?没有xsl:result-document,它会按预期将其发送到标准输出。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
    <xsl:template match="@*|node()">
        <xsl:result-document href="Output.xml">
            <xsl:copy>
                <xsl:apply-templates select="@*|node()"/>
            </xsl:copy>
        </xsl:result-document>
    </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:2)

使用

<xsl:template match="/">
  <xsl:result-document href="Output.xml">
    <xsl:apply-templates/>
  </xsl:result-document>
</xsl:template>

加上正常的身份转换模板,这样样式表创建的输出就会转到Output.xml。您当前的代码与任何节点匹配,并且每个匹配的节点尝试打开同一个文件,这是不允许的。