在XSLT文档中,是否可以循环当前目录中的一组文件?
我有一个情况,我有一个充满xml文件的目录,需要进行一些分析才能生成报告.我的样式表在单个文档上运行很好,但是我想扩展它而不需要另一个工具来合并xml文档.
我在考虑这些问题:
<xsl:for-each select="{IO Selector Here}">
<xsl:variable select="document(@url)" name="contents" />
<!--More stuff here-->
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
在XSLT 2.0和Saxon中,您可以使用以下collection()函数执行此操作:
<xsl:for-each select="file:///path/to/directory">
<!-- process the documents -->
</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅http://www.saxonica.com/documentation/sourcedocs/collections.html.
在XSLT 1.0中,您必须创建一个索引,列出要使用单独工具处理的文档.您的环境可能提供这样的工具; 例如,Cocoon有一个创建这样一个索引的目录生成器.但是不知道你的环境是什么,很难知道推荐什么.