如何从DTD或者XSD生成示例XML文档?

时间:2020-03-05 18:40:56  来源:igfitidea点击:

我们正在开发一个涉及大量XML转换的应用程序。我们本身没有任何适当的输入测试数据,只有DTD或者XSD文件。我们希望自己从这些文件中生成测试数据。有没有简单/免费的方法可以做到这一点?

编辑

显然没有免费的工具,我也同意OxygenXML是最好的工具之一。

解决方案

回答

XMLSpy为我们做到了,尽管这不是免费的...

我相信Liquid Xml Studio可以为我们做到这一点并且是免费的,但是我个人还没有使用它来创建测试数据。

回答

我认为Oxygen(http://www.oxygenxml.com/)也能做到这一点,但这是另一种商业产品。不过,这是一个不错的选择……我强烈建议所有从事XML工作的人使用它。它也带有一个不错的Eclipse插件。

我确实相信有30天的免费免费试用。

回答

在Visual Studio 2008 SP1和更高版本中,XML Schema Explorer可以使用一些基本样本数据创建一个XML文档:

  • 打开XSD文档
  • 切换到XML模式浏览器
  • 右键单击根节点,然后选择" Generate Sample Xml"

回答

Sourceforge.net上可用的camprocessor将为任何XSD生成xml测试用例。有一个教程可以向我们展示如何生成自己的测试示例,包括使用内容提示来确保实际的示例,而不仅仅是随机的示例。

该教程位于:
http://www.oasis-open.org/committees/download.php/29661/XSD%20and%20jCAM%20tutorial.pdf

有关使用OASIS内容组装机制(CAM)标准将XSD重构为更XSLT友好结构的工具的更多信息,请访问以下资源网站:http://www.jcam.org.uk

享受,DW

回答

我们可以使用XML实例生成器,它是Sun / Oracle Multi-Schema Validator的一部分。

它的README.txt状态为:

Sun XML Generator is a Java tool to generate various XML instances from
  several kinds of schemas. It supports DTD, RELAX Namespace, RELAX Core,
  TREX, and a subset of W3C XML Schema Part 1. [...]
  
  This is a command-line tool that can generate both valid and invalid
  instances from schemas. It can be used for generating test cases for XML
  applications that need to conform to a particular schema.

从msv下载页面下载并解压缩xmlgen.zip并运行以下命令以获取详细的使用说明:

java -jar xmlgen.jar -help

该工具似乎是根据BSD许可发布的;可从此处访问源代码

回答

Microsoft已发布了一个"文档生成器"工具作为示例。本文是详细描述示例应用程序的体系结构和操作的文章。

如果我们只想运行示例生成工具,请单击此处并安装MSI。

免费。源可用。需要.NET Framework才能运行。仅适用于XSD。 (而不是放松NG或者DTD)。

回答

Microsoft Office具有" InfoPath",该文件将XSD导入,并允许我们快速轻松地定义用于创建XML文件的基于表单的编辑器。它有两种模式,一种是定义表单的模式,另一种是通过填写表单来创建XML文件的模式。我相信它最早是随Office 2003一起提供的,大多数人从未安装过它。我多么喜欢它使我震惊。

回答

回答

XMLBlueprint 7.5可以执行以下操作:
从dtd生成示例xml
从放松ng模式生成示例xml
从xml模式生成示例xml

回答

Liquid XML Studio具有一个XML Sample Generator向导,该向导将根据XML Schema生成示例XML文件。生成的数据似乎符合该模式(只是无法为正则表达式模式生成数据)。

回答

SoapUI的开源版本可以从WSDL(包含XSD类型定义)生成SOAP请求,因此看起来好像有此功能的开源实现。不幸的是,我还没有弄清楚哪个图书馆习惯了这一点。