我已经制作了一个XML Schema - 基本上都是代码 - 并且想知道代码是否可以生成这样的代码:
如果是这样我该怎么办?
开源命令行java application xsdvi从XML Schema Definition创建SVG格式的交互图.生成的SVG文件可以通过现代Web浏览器显示,用户可以通过鼠标单击来展开和折叠树.
以下是生成的图表的示例
http://xsdvi.sourceforge.net/ipo.svg
该软件可以从中下载
http://sourceforge.net/projects/xsdvi/
它可以运行如下(假设安装了Java并且java.exe
在路径中): -
转到该dist/lib
文件夹.
运行以下命令 java -jar xsdvi.jar
XSD Diagram是免费的(GNU开放许可证),不需要构建,并提供交互式图表.您只需打开文件并在(最初为空白)图表上添加所需的类型.挺直的.
在我看来,Oracle JDeveloper 11g内置查看器优于Eclipse可用的查看器(除了其他不利的比较点,我只能安装Indigo而不是Juno).如果我没有弄错,Oracle 会免费提供JDeveloper(只需要在OTN注册).
您可以使用XMLGrid的在线查看器,它提供了出色的XSD支持和许多其他功能:
在XML数据网格中显示XML数据.
支持XML,XSL,XSLT,XSD,HTML文件类型.
易于修改或删除现有节点,属性,注释.
易于添加新节点,属性或注释.
易于扩展或折叠XML节点树.
查看XML源代码.
截图:
在Linux上(使用mono,apt-get
在Debian上可用)和Windows:
XSDDiagram(也在Mono上运行)
如果您使用的是Windows,我建议您查看:
来自WMHelp或XML的XMLPad3
这两个工具都是免费的,两者都能够提供类似的可视化,如您的示例所示.
如果您需要一个简单的,更加面向文本的XSD文档,请查看xs3p - 一个XSLT样式表,它将XSD转换为更易读的HTML格式.非常好,完全免费.
如果这还不够,请查看一些商业工具 - 我个人更喜欢Liquid XML Studio - 不像其他工具那么昂贵,而且非常有能力!
该图片是从XML Schema编辑工具生成的,例如Altova的XMLSpy.
有许多XML工具,所有这些工具都包含一个Graphical XSD Viewer.我提到XML Spy只是因为它是品牌领导者.此外,Eclipse,Visual Studio和Oracle JDeveloper等许多通用IDE都能够实现这一目标.
我们提供了一个名为DocFlex/XML XSDDoc的工具,可以让您同时享受这两件事:
要有XML架构的图表表示
在高度复杂的XML模式文档中嵌入(和超链接)所有这些图表
实际上,这些图不是由我们生成的,而是由Altova XMLSpy生成的.我们实现了与XMLSpy的集成(完全支持所有图表超链接):
在这里您可以看到完整的这个文档:http://www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html
整个产品提供了目前市场上任何单一供应商都无法提供的功能!
我们的一些客户留下了深刻印象,因为我们的工具只为XMLSpy购买了额外的许可证.(那不是开玩笑!)
目前,我们还实现了与其他XML编辑器的类似集成:
使用
请参阅:http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html
使用Liquid XML Studio:
请参阅:http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html
关于所有这些图表描述的内容......本质上,它们都是关于XSD元素的内容模型(以及导致元素的其他XSD组件:complexTypes,元素/属性组).看来,这里有两种方法:
显示结果内容模型(由给定组件表示)的外观.这就是XMLSpy的方法.
显示(特定组件的)特定内容模型是如何从其他组件派生的.这是
我个人认为XMLSpy生成的图表更有用.
然而,到目前为止(至少我不知道)没有尝试以图形方式描绘XML模式中包含的任何其他内容,尽管可以想象很多......
Visual Studio 2013内置了一个很棒的可视化工具。
File-> Open-> File选择您的.xsd,然后将元素从XML Schema Explorer拖到设计器图面上。