0

我有一个用于代码生成的 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-document 元素,但这似乎覆盖了任何以前编写的内容。

谢谢。

4

2 回答 2

1

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

另一方面,在运行转换的环境中很容易将结果附加到文件中。无论是编程语言还是外壳程序,文本文件连接都应该是一项微不足道的练习。我建议你在那里做,而不是试图找到一些弯曲 XSLT 的方法来做。

于 2009-07-13T12:38:32.233 回答
0

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>
于 2009-07-13T12:09:55.990 回答