参见标题:我有大约 50 个互相导入的 XSD 文件(带标签),我需要分析它们的依赖关系。
您知道有什么软件(最好是免费的)可以从这些文件自动生成依赖关系图吗?
我不知道有任何专门为 XSD 量身定制的免费解决方案。如果我必须使用免费可用的组件来构建它,我可能会考虑GraphViz。您需要编写一个模块来生成 GraphViz 所需的数据,这些数据来自解析 XSD 文件。如果您考虑架构位置的工作和解析方式,并正确处理循环依赖关系,则后者有点微不足道。好处是 GraphViz 得到了广泛的平台支持,只要你能解析 XML,你就可以设置。
我还开发了自己的,以 XML 架构重构 (XSR) 插件的形式用于 QTAssistant。这个特殊的功能集自 2004 年以来一直存在,因此它运行得非常好,包括 WSDL 和 XSD 文件。
我可以对您的要求进行不同的解释,因此我将参考您可以使用 XSR 做什么:
这是一个简单的,显示了分层布局。
这是一个更复杂的,展示有机布局。
with tags
)。该工具附带一个自动化库,您可以在其中编写几行 C# 或 Java 脚本代码,然后可以使用 QTAssistant shell 或命令行 shell 调用这些代码,以将其与自动构建过程集成。
其他功能包括使用 GraphML 导出底层数据的能力,也就是说,如果您希望进一步分析或处理图形(例如拓扑排序、循环等)
取决于你为什么需要分析依赖关系, 在我的用例中,我从不同来源接收 xsd 文件,通常是许多架构文件的 zip 文件。要在架构创作工具中打开它,我需要知道包括所有其他文件的根级文件(在某些情况下可能很少有这样的文件)。 出于这个原因和其他原因,我编写了(免费软件)Xsd Explorer实用程序,它可以直接从 zip 文件或目录打开模式。主要是xsd可视化工具,但是如果需要了解根级别文件,在日志视图中指定