【发布时间】:2010-12-30 17:25:26
【问题描述】:
我有一组 XML 文件(具体来说是 DocBook)。它们使用 XML 包含(又名 XInclude)来相互引用。给定这些 XML 文件之一,找出引用它的文件列表的最佳方法是什么?我正在寻找为该文件建立依赖关系树。换一种说法,如果我更改了一个给定的 XML 文件,我如何计算将受影响的其他 XML 文件的列表?
【问题讨论】:
标签: xml dependencies docbook xinclude
我有一组 XML 文件(具体来说是 DocBook)。它们使用 XML 包含(又名 XInclude)来相互引用。给定这些 XML 文件之一,找出引用它的文件列表的最佳方法是什么?我正在寻找为该文件建立依赖关系树。换一种说法,如果我更改了一个给定的 XML 文件,我如何计算将受影响的其他 XML 文件的列表?
【问题讨论】:
标签: xml dependencies docbook xinclude
在 DocBook SourceForge 项目的 SVN 存储库中,有一个 xmldepend.xsl 样式表模块。也许这就是您正在寻找的:
http://docbook.svn.sourceforge.net/viewvc/docbook/trunk/contrib/xsl/xmldepend/xmldepend.xsl
【讨论】:
鉴于 XInclude 定义的单向关系,没有任何直接的基于 XML 的方式来执行此操作。
老实说,我可能会使用find 或grep 进行文件搜索。
在给定顶级 DocBook 文件的情况下,您可以在样式表上使用 @mzjn 指向您的变体来生成复合文档中的所有依赖项,然后提取文档依赖于您当前感兴趣的文件的那些.
【讨论】: