如何可视化XML模式?

我已经做了一个XML模式 – 所有的代码基本上 – 并想知道是否有一种方式,代码可以产生这样的事情:

在这里输入图像说明

如果是这样,我该怎么办呢?

开源命令行java应用程序xsdvi从XML模式定义创buildSVG格式的交互图。 生成的SVG文件可以通过现代Web浏览器显示,用户可以通过点击鼠标来展开和折叠树。

这是一个生成图的例子

ipo.svg

该软件可以从中下载

http://sourceforge.net/projects/xsdvi/

XSD图是免费的(GNU开放许可证),不需要build立,并给出一个交互图。 您只需打开文件并在(最初为空)图上添加所需的types即可。 非常直截了当。

在这里输入图像说明

Oracle JDeveloper 11g内置查看器在我看来优于Eclipse提供的查看器(除了其他不利的比较点之外,我只能安装Indigo,而不能用于Juno )。 如果我没有弄错,Oracle 可以免费提供JDeveloper (只需要在OTN上注册)。

在这里输入图像说明

您可以使用XMLGrid的在线查看器,它提供了很好的XSD支持和许多其他function:

  • 在XML数据网格中显示XML数据。
  • 支持XML,XSL,XSLT,XSD,HTML文件types。
  • 易于修改或删除现有的节点,属性,评论。
  • 轻松添加新节点,属性或评论。
  • 易于展开或折叠XML节点树。
  • 查看XML源代码。

截图:

截图

如果您需要一个简单的,面向文本的XSD文档,请查看xs3p – 一个将您的XSD转换为更具可读性的HTML格式的XSLT样式表。 非常好,完全免费。

如果这还不够,请查看一些商业工具 – 我个人更喜欢Liquid XML Studio–不像其他的那么昂贵,而且function也相当强大!

该图片是从XML Schema编辑工具(如Altova的XMLSpy)生成的 。

有许多XML工具,所有这些工具都将包含一个Graphical XSD Viewer。 我只是提到XML Spy,因为它是品牌的领导者。 另外,Eclipse,Visual Studio和Oracle JDeveloper等许多通用IDE都可以做到这一点。

在Linux上(使用单声道,可通过Debian上的apt-get )和Windows:

  • XSDDiagram (在Mono上运行)

如果你在Windows上,我build议你看看:

  • 从WMHelp或XMLPad3

这两个工具都是免费的,都可以提供类似的可视化,如你的例子所示。

Visual Studio 2013内置了一个很酷的可视化工具。

文件 – >打开 – >文件select您的.xsd,然后将元素从XML模式资源pipe理器拖到devise器表面。

这是我的方法 – 下载freemind和CAM XML模板编辑器 。 然后打开CAM XML,从XML创build新的模板,查看 – >查看模板作为思维导图
这个解决scheme的优点:

  • 它在本地工作,所以秘密文件可以被处理,
  • 完全免费,
  • 开源。

缺点:

  • 相当不稳定的大(超过20sh的MB)文件。

我们提供了一个名为DocFlex / XML XSDDoc的工具,可以让您一次享受这两件事:

  • 让图表表示您的XML模式
  • 将所有这些图embedded(和超链接)在一个高度复杂的XML模式文档

实际上这些图不是由我们生成的,而是由Altova XMLSpy生成的 。 我们实现了与XMLSpy集成 (完全支持所有图表超链接):

XML Schema文档和由XMLSpy生成的图表

在这里您可以看到完整的文档: http : //www.filigris.com/docflex-xml/xsddoc/examples/html/XMLSchema/index.html

整个事情提供了现在市场上没有任何单一供应商提供的function!

我们的一些客户印象深刻,他们只是因为我们的工具而购买了XMLSpy的额外许可证。 (这不是玩笑!)


目前,我们还实施了与其他XML编辑器的类似集成:

使用<oXygen /> XML编辑器

XSDDoc与由<oXygen /> XML Editor生成的图表

请参阅: http : //www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html

使用Liquid XML Studio

XSDDoc与由Liquid XML生成的图表

请参阅: http : //www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html


关于所有这些图表描述…实质上,它们都是关于XSD元素的内容模型(以及导致元素的其他XSD组件:complexTypes,元素/属性组)。 看来,这里有两种方法:

  1. 显示结果内容模型(由给定组件表示)的外观。 这是XMLSpy的方法。
  2. 显示特定内容模型(给定组件)是如何从其他组件派生的。 这就是<oXygen /> XML和Liquid XML的方法。

我个人认为XMLSpy生成的图更有用。

然而,目前还没有尝试(至less我知道)以graphics方式描述XML模式中包含的其他内容,尽pipe可以想象得到许多…

我们使用Liquid XML Studio,它提供了XSD模式的直观的可编辑表示。 它还显示内嵌的注释,我们发现它非常有用,分割代码/ gfx视图在写入或编辑XSD时是非常有用的。

Liquid XML Studio XSD编辑器

有一个新的免费使用的webtool,您可以在其中查看任何XML模式:

在线XML模式查看器

http://www.xml-tools.net

它完全用JavaScript编写,所以它在大多数现代浏览器中运行。

如果有人使用IBM Rational Application Developer,那么内置XSD浏览器。

试试我的xsd-viewer从https://github.com/santhosh-tekuri/jlibs