gpt4 book ai didi

具有可变数量源文件的 XSLT 工作流程

转载 作者:行者123 更新时间:2023-12-02 08:58:45 24 4
gpt4 key购买 nike

我有一堆具有固定的、基于国家/地区的命名架构的 XML 文件:report_en.xmlreport_de.xmlreport_fr.xml现在我想编写一个 XSLT 样式表,通过 document() XPath 函数读取这些文件中的每一个,提取一些值并生成一个带有摘要的 XML 文件。我的问题是:如何在不知道要处理的文件的确切名称的情况下迭代源文件?

目前,我计划生成一个包含所有文件名的辅助 XML 文件,并在样式表中使用辅助 XML 文件进行迭代。文件列表将使用小型 PHP 或 bash 脚本生成。有更好的选择吗?

我知道XProc ,但目前我无法选择投入太多时间。也许有人可以发布 XProc 解决方案。优选地,该解决方案包括工作流程步骤,其中报告以 HTML 格式下载并整理:)

我将使用 Saxon 作为我的 XSLT 处理器,因此如果我可以使用特定于 Saxon 的扩展,这些也可以。

最佳答案

您可以使用标准 XPath 2.x collection() 函数, as implemented in Saxon 9.x

Saxon 实现允许在函数的 string-Uri 参数中使用搜索模式,因此您可以在目录路径之后指定以 report_ 开头的任何文件名的模式> 然后还有另外两个字符,然后以 .xml 结尾。

示例:

这个 XPath 表达式:

collection('file:///c:/?select=report_*.xml')

选择位于 c:\ 的每个 XML 文档的文档节点,该文件的名称以 report_ 开头,包含 0 个或多个字符,最后以.xml.

关于具有可变数量源文件的 XSLT 工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2951343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com