代码之家  ›  专栏  ›  技术社区  ›  Steve

XSLT附加到结果文档

  •  0
  • Steve  · 技术社区  · 15 年前

    我有一个XSLT脚本,用于生成代码,其中我处理多个输入XML文件,并将文件输出到Javascript代码。对于每个xml输入文件,我输出一个Javascript文件。

    因此,我将有以下文件/转换发生:

    view1.xml -> view1.js
    view2.xml -> view2.js
    ...
    

    现在,我还需要在XSL处理过程中创建一个额外的文件,其中需要将处理的每个输入文件的相关信息附加到一个公共Javascript文件中。

    所以,现在我想:

    view1.xml -> view1.js / append to common.js 
    view2.xml -> view2.js / append to common.js
    ...
    

    我的问题是,在处理多个输入文件的过程中,是否可以附加到文件中?我目前使用的是Saxon 9.1.0.7,我查看了xsl:result文档元素,但这似乎覆盖了以前编写的任何内容。

    谢谢

    2 回复  |  直到 15 年前
        1
  •  1
  •   Tomalak    15 年前

    不,我认为您不能从XSLT中附加到现有(甚至是非XML)文件。

    另一方面,在运行转换的环境中很容易将结果附加到文件中。无论是编程语言还是shell,文本文件连接都应该是一个简单的练习。我建议您在那里做这件事,而不是试图找到弯曲XSLT来做这件事的方法。

        2
  •  0
  •   Ratnesh Maurya    15 年前

    XSLT“document()”中有一个函数。您可以使用它来处理来自单个XSLT的多个xml输入文件,从而处理单个输出,我不确定它是否有助于您的情况。

     <xsl:apply-templates select="document('doc1.xml')"/>
     <xsl:apply-templates select="document('doc2.xml')"/>
     <xsl:apply-templates select="document('doc3.xml')"/>
    
     <xsl:template match='nodeX">do something</xsl:template>
     <xsl:template match='nodeY">do something else</xsl:template>