如何以编程方式可视化 XML 模式? [关闭]

Posted

技术标签:

【中文标题】如何以编程方式可视化 XML 模式? [关闭]【英文标题】:How to visualize an XML schema programatically? [closed] 【发布时间】:2011-01-30 00:21:14 【问题描述】:

我已经制作了一个 XML Schema - 基本上所有的代码 - 并且想知道是否有一种方法可以让代码生成这样的东西:

如果可以,我该怎么做?

【问题讨论】:

如果您使用 Confluence,请查看新的 XSD 查看器插件in the Atlassian Marketplace 看起来tool I found 是 OP 的屏幕截图。 您使用哪种编程语言?如果您只是在寻找软件推荐,那么有更好的 StackExchange 网站。 【参考方案1】:

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

这是一个生成图表的示例

http://xsdvi.sourceforge.net/ipo.svg

该软件可以从以下网址下载

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

可以如下运行(假设安装了Java并且java.exe在路径中):-

    转到dist/lib 文件夹。 运行以下命令java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style]

【讨论】:

用法:java -jar xsdvi.jar <input1.xsd> [<input2.xsd> [<input3.xsd> ...]] [style](来自 xsdvi.zip /res/readme.txt) 这个工具唯一的问题是生成的 SVG 有点慢。就像,如果我在打开后“全部折叠”,它需要大约 15 秒才能折叠。但它是免费的......所以...... 伟大的开源软件!唯一的问题是 SVG 文件很大,点击 +/- 按钮会变得非常慢(3-5 秒) 很棒的工具!我想知道是否可以使用 XSLT 进行这样的转换 XSD->SVG 你们必须买一台速度更快的电脑 :) 对我来说没问题,非常好的工具【参考方案2】:

XSD Diagram 是免费的(GNU 开放许可证),不需要构建,并提供交互式图表。 您只需打开文件并在(最初为空白的)图表上添加所需的类型。 非常直接。

【讨论】:

不错,即使在 OSX 上使用最新的 Mono-MDK (4.0) 也能运行。正是我想要的 很棒的小软件。超轻量,不需要JRE,速度很快。喜欢它。 这个不错。 而且它在default ubuntu repository - 不知道为什么官方网站没有提到这个?【参考方案3】:

您可以使用XMLGrid 的在线查看器,它提供了出色的 XSD 支持和许多其他功能:

在 XML 数据网格中显示 XML 数据。 支持 XML、XSL、XSLT、XSD、html 文件类型。 易于修改或删除现有节点、属性、cmets。 轻松添加新节点、属性或 cmets。 易于展开或折叠 XML 节点树。 查看 XML 源代码。

截图:

【讨论】:

【参考方案4】:

Oracle JDeveloper 11g 内置查看器在我看来优于 Eclipse 可用的查看器(除了其他不利的比较点之外,我只能得到为 Indigo 而不是为 Juno 安装)。如果我没记错 Oracle makes the JDeveloper available for free(只需要在 OTN 注册)。

【讨论】:

JDeveloper(Java 版)为我完成了这项工作,尝试了这里提到的其他软件,但没有成功。 在 OSX 上使用时请注意:解压缩 .zip 文件后,JDeveloper.app 将因文件权限问题而无法启动。您必须在 /Applications/jdeveloper/JDeveloper.app/Contents/MacOS/JDeveloper 上设置可执行位。然后,它仍然不会启动,直到您将 JDK 的路径保存在 ~/.jdev_jdk 中,如下所示: echo $JAVA_HOME > ~/.jdev_jdk 这就像一个魅力!我们曾经使用 XMLSpy 添加 API 的图片,这会导致一些尴尬的时刻,即寻找拥有许可证的人、寻找试用版的人或寻找尚未安装试用版的人来制作图片。只为几张照片购买 500 美元的程序似乎很愚蠢。【参考方案5】:

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

XSDDiagram(也可以在 Mono 上运行)

如果你使用的是 Windows,我建议你看看:

XMLPad3 from WMHelp 或

这两个工具都是免费的,并且都能够提供类似的可视化,如您的示例所示。

【讨论】:

XSD 图真的很不错。谢谢。需要注意的一点:当您加载 XSD 时,应用程序不会在图表选项卡上显示任何内容,甚至根元素也不显示。我以为它坏了,但事实证明你只需要明确告诉它要显示哪些元素。 最佳答案!对于 linux,sudo apt install xsddiagram 安装 XSDDiagram【参考方案6】:

如果您需要一个简单的、更面向文本的 XSD 文档,请查看 xs3p - 一个 XSLT 样式表,它将您的 XSD 转换为更易读的 HTML 格式。相当不错,而且完全免费。

如果这还不够,请查看那里的一些商业工具 - 我个人更喜欢 Liquid XML Studio - 不像其他工具那么贵,而且功能强大!

【讨论】:

社区版已被非免费入门版取代,年费为 106.90 美元。 @Andrew Swan:真可惜......仍然 - Liquid XML 是一个很棒的工具 目前(2013 年 3 月)有一个功能齐全的 30 天免费试用版(再次)。 上面引用的 xs3p 链接不起作用。有谁知道它去哪儿了?【参考方案7】:

该图片是从 XML Schema 编辑工具生成的,例如 Altova's XMLSpy。

周围有许多 XML 工具,所有这些工具都将包括图形 XSD 查看器。我提到 XML Spy 只是因为它是品牌领导者。 Eclipse、Visual Studio 和 Oracle JDeveloper 等许多通用 IDE 也可以做到这一点。

【讨论】:

在 Eclipse 中,您可以右键单击 XSD 文件并选择打开方式 -> 其他... -> XML Schema Editor,尽管编辑器在浏览 340kb 文件时有点反应迟钝。 JDeveloper XSD 视图看起来不错。【参考方案8】:

我们提供了一个名为 DocFlex/XML XSDDoc 的工具,可让您同时享受这两种体验:

对您的 XML 模式进行图表表示 将所有这些图表嵌入(和超链接)到高度复杂的 XML 模式文档中

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

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

整个产品提供了目前市场上任何单一供应商都没有提供的功能!

我们的一些客户对我们的工具印象深刻,以至于他们购买了 XMLSpy 的额外许可,仅仅是因为我们的工具。 (这不是开玩笑!)


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

With <oXygen/> XML Editor

见:http://www.filigris.com/docflex-xml/OxygenXML/demo/html/xslt20/index.html

With Liquid XML Studio

见:http://www.filigris.com/docflex-xml/LiquidXML/demo/html/XMLSchema/index.html


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

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

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

然而,到目前为止,还没有尝试(至少我知道)以图形方式描述 XML 模式中包含的任何其他内容,尽管可以想象很多......

【讨论】:

【参考方案9】:

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

文件 -> 打开 -> 文件选择您的 .xsd,然后将元素从 XML Schema Explorer 拖到设计器界面上。

【讨论】:

如何打开设计师界面? 当您执行文件 -> 打开 -> 选择 .xsd 文件时,应该会打开设计界面。此时您的 xml 架构尚未显示,因此设计器表面有点空……它将作为一个空白选项卡打开,其中包含一些有关操作的说明。文本显示“通过将 XML 模式集中的节点从 XML Schema Explorer 拖到设计图面上来可视化它们”您必须单击 XML Schema Explorer 这个词,它是一个链接,将在侧面打开一个选项卡(该选项卡将然后包含您可以拖动到设计器表面的 xml 架构片段) 我不确定,但它可能是仅在 VS 的企业版上可用的功能。我没有尝试过其他 VS 版本。 Visual Studio 2017 也可以显示 XSD 结构。【参考方案10】:

有一个新的免费网络工具,您可以在其中查看任何 xml 架构:

Online XML Schema Viewer

www.xml-tools.net

它完全用 javascript 编写,因此可以在大多数现代浏览器中运行。

【讨论】:

我在谷歌浏览器顶部看不到任何工具栏菜单? 请告诉我操作系统和浏览器版本 - 谢谢!【参考方案11】:

这是我的方法 - 下载 freemind 和 CAM XML Template Editor。 然后打开 CAM XML,从 XML 创建新模板,查看 -> 以思维导图查看模板 此解决方案的优点:

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

缺点:

对于大型(超过 20sh MB)文件非常不稳定。

【讨论】:

【参考方案12】:

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

【讨论】:

【参考方案13】:

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

【讨论】:

尝试这个但deadlock.netbeans.org/maven2 给出 404 错误,如果我使用 NetBeans 6.9.1 中的 org-netbeans-swing-outline JAR 文件,我会在 DefaultRenderDataProvider.java:49 处获得 NPE deadlock.netbeans.org/maven2 已关闭。现在我使用了我的个人存储库。尝试新的资源...【参考方案14】:

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

【讨论】:

【参考方案15】:

Grid-ML Schema Viewer 非常适合搜索和可视化 XML Schema:https://gridml.com/xml-schema-viewer。当涉及到大型模式或浏览图表不可行时,我发现它比其他工具更好。该工具还允许您复制选择项的 XPath 或 JSON 路径。

Grid-ML Schema Search Screen

【讨论】:

以上是关于如何以编程方式可视化 XML 模式? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何添加滑块以在视图中向下移动? [关闭]

如何以编程方式关闭在 Kiosk 模式下运行的 Chrome?

如何以编程方式关闭棉花糖设备中特定应用程序的打盹模式

创建音乐可视化工具[关闭]

如何以编程方式关闭全屏模式NSWindow?

请问在Eclipse下如果对jsp文件进行可视化编辑??