2012-09-12 59 views

回答

4

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

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

随意使用它!

graph visualisation program GraphVisu

graph visualisation program GraphVisu

3

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

我也开发了我自己的,以XML Schema重构(XSR)插件的形式为QTAssistant。这个特殊的功能集自从2004年开始出现,所以它的工作非常好,包括WSDL和XSD文件。

我可以做不同的解释,你问什么,所以我将把你可以用XSR做什么:

  • XSD文件依赖性

QTAssistant showing ACORD 2.21 XSD file Layout

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

QTAssistant showing Orbitz XSD file layout

这是一个比较复杂的一个,showign有机布局。

  • intra-XSD文件模式组件依赖关系:可以根据任意条件进行过滤(不确定你的意思是with tags)。

QTAssistant showing intra-XSD file dependencies

  • XSD文件集架构组件的依赖关系(同上,但可以在不同的文件浏览)

该工具配备了一个自动化库,在那里你可以编写几行C#或Java脚本代码,然后您可以使用QTAssistant外壳程序或命令行外壳程序将其与自动构建过程集成。

其他功能还包括出口使用GraphML基础数据的能力,也就是说,如果你想进一步分析或处理图形(如拓扑排序,循环等)