在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.但是不知道你的环境是什么,很难知道推荐什么.