Распутывание дерева зависимостей для набора файлов XML с использованием XInclude - PullRequest
2 голосов
/ 30 декабря 2010

У меня есть набор файлов XML (точнее, DocBook). Они используют XML-включения, или XInclude, для ссылки друг на друга. Учитывая один из этих файлов XML, каков наилучший способ выяснить список файлов, которые ссылаются на него? Я ищу, чтобы построить дерево зависимостей для этого файла. Иными словами, если я изменю данный XML-файл, как я могу рассчитать список других XML-файлов, которые будут выполнены?

Ответы [ 2 ]

4 голосов
/ 30 декабря 2010

В SVN-репозитории проекта DocBook SourceForge есть модуль таблицы стилей xmldepend.xsl. Возможно, это то, что вы ищете:

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

2 голосов
/ 04 января 2011

Учитывая однонаправленные отношения, определенные XInclude, не существует прямого способа, основанного на XML.Честно говоря, я бы, вероятно, сделал поиск файлов, используя find или grep.

Вы можете, учитывая файл DocBook верхнего уровня, использовать вариант в таблице стилей, на который указал @mzjn, чтобы сгенерировать все зависимости в составном документе, а затем извлечь те, где документ зависит от файла, которым вы являетесь.в данный момент интересуюсь.

...