【问题标题】:Unraveling the dependency tree for a set of XML files using XIncludes使用 XIncludes 解开一组 XML 文件的依赖关系树
【发布时间】:2010-12-30 17:25:26
【问题描述】:

我有一组 XML 文件(具体来说是 DocBook)。它们使用 XML 包含(又名 XInclude)来相互引用。给定这些 XML 文件之一,找出引用它的文件列表的最佳方法是什么?我正在寻找为该文件建立依赖关系树。换一种说法,如果我更改了一个给定的 XML 文件,我如何计算将受影响的其他 XML 文件的列表?

【问题讨论】:

    标签: xml dependencies docbook xinclude


    【解决方案1】:

    在 DocBook SourceForge 项目的 SVN 存储库中,有一个 xmldepend.xsl 样式表模块。也许这就是您正在寻找的:

    http://docbook.svn.sourceforge.net/viewvc/docbook/trunk/contrib/xsl/xmldepend/xmldepend.xsl

    【讨论】:

    • 我认为这与 OP 所追求的相反。
    • 感谢 mzjn 的提示。 Nic 是对的,但我认为我可以朝这个方向发展。
    • 我已经尝试过了,它确实成功地将所有图形列为类似文件,但不包括包含的 XML 文件本身。我认为这是因为这些包含由 org.apache.xml.resolver.tools.CatalogResolver 在上游解析。有什么想法可以让我获得这些额外信息吗?
    【解决方案2】:

    鉴于 XInclude 定义的单向关系,没有任何直接的基于 XML 的方式来执行此操作。 老实说,我可能会使用findgrep 进行文件搜索。

    在给定顶级 DocBook 文件的情况下,您可以在样式表上使用 @mzjn 指向您的变体来生成复合文档中的所有依赖项,然后提取文档依赖于您当前感兴趣的文件的那些.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-28
      • 2021-06-15
      • 1970-01-01
      • 2023-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-13
      相关资源
      最近更新 更多