xml - 多个文件输入?

标签 xml xslt io

在 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/

相关文章:

php - 具有多个参数的 SOAP XML 函数调用

xml - - <?xml version ="1.0"encoding ="utf-8"?> 的含义

android - 命名空间 ID 是否存在或什么是 android :id from the XML point of view?

html - 具有属性和值以及 CSS 的 XSL TR 和 TD 元素

xml - 使用 XSLT 修改嵌入在其他元素文本中的元素

java - Java 中的 XSLT 转换可以输出无效标签警告吗

sql - 如何生成 SQL 格式的更改日志以创建当前数据库模式?

c - 提高在 C 中合并两个文件的 IO 性能

Python-需要快速算法来删除文件中所有派生词,换句话说

java - AudioInputStream() 不会停止