【问题标题】:How to generate a dependency diagram from a set of XSD files?如何从一组 XSD 文件生成依赖关系图?
【发布时间】:2012-09-12 10:25:34
【问题描述】:

见标题:我有大约 50 个 XSD 文件相互导入(带有标签),我需要分析它们的依赖关系。

你知道任何软件(最好是免费的)可以从这些文件中自动生成依赖关系图吗?

【问题讨论】:

    标签: xsd diagram dependency-management circular-dependency


    【解决方案1】:

    我没有找到任何现有的程序来做到这一点,所以...我开发了自己的!它被称为GraphVisu

    第一个程序可以从种子 XSD 文件生成图形结构,另一个程序可以可视化图形。我还包括检测相互关联的节点集群(在图论中称为“strongly connected components”)。

    请随意使用!

    【讨论】:

      【解决方案2】:

      我不知道有任何专门为 XSD 量身定制的免费解决方案。如果我必须使用免费可用的组件来构建它,我可能会考虑GraphViz。您需要编写一个模块来生成 GraphViz 所需的数据,这些数据将来自解析 XSD 文件。如果您考虑到模式位置的工作原理和解析方式,并正确处理循环依赖关系,则后者是微不足道的。好在 GraphViz 得到了广泛的平台支持,只要你能解析 XML,就可以设置。

      我还开发了自己的 XML Schema Refactoring (XSR) 插件,用于QTAssistant。这个特殊的功能集自 2004 年以来一直存在,因此它运行得非常好,包括 WSDL 和 XSD 文件。

      我可以对您提出的问题做出不同的解释,因此我将参考您可以使用 XSR 做什么:

      • XSD 文件依赖关系

      这是一个简单的,显示分层布局。

      这是一个更复杂的,显示一个有机的布局。

      • XSD 文件内架构组件依赖项:可以根据任意条件进行过滤(不确定您所说的 with tags 是什么意思)。

      • XSD 文件集架构组件依赖项(与上述相同,但可以跨不同文件导航)

      该工具附带一个自动化库,您可以在其中编写几行 C# 或 Java 脚本代码,然后您可以使用 QTAssistant shell 或命令行 shell 调用这些代码,以将其与自动构建过程集成。

      其他功能包括使用GraphML 导出基础数据的功能,即如果您希望进一步分析或处理图形(例如拓扑排序、循环等)

      【讨论】:

        猜你喜欢
        • 2018-03-28
        • 1970-01-01
        • 2022-08-19
        • 2016-09-30
        • 2018-02-09
        • 1970-01-01
        • 2010-10-07
        • 1970-01-01
        • 2016-05-12
        相关资源
        最近更新 更多