在 XSLT 文档中,是否可以遍历当前目录中的一组文件?
我遇到这样一种情况,我有一个充满 xml 文件的目录,需要进行一些分析才能生成报告。我的样式表在单个文档上运行良好,但我想扩展它而无需使用其他工具来合并 xml 文档。
我是这么想的:
<xsl:for-each select="{IO Selector Here}">
<xsl:variable select="document(@url)" name="contents" />
<!--More stuff here-->
</xsl:for-each>
最佳答案
在 XSLT 2.0 和 Saxon 中,您可以使用 collection()
函数执行此操作:
<xsl:for-each select="file:///path/to/directory">
<!-- process the documents -->
</xsl:for-each>
参见 http://www.saxonica.com/documentation/sourcedocs/collections.html了解更多详情。
在 XSLT 1.0 中,您必须创建一个索引,列出您要使用单独工具处理的文档。您的环境可能会提供这样的工具;例如,Cocoon 有一个 Directory Generator创建这样一个索引。但是,在不知道您的环境是什么的情况下,很难知道要推荐什么。
关于xml - 多个文件输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/102531/