有没有任何工具可以从XML实例文档生成XSD模式?[已关闭]
有没有从XML实例文档生成XSD模式的工具?
Trang是这里的最佳选择。它是一个开源的、跨平台的工具(尽管需要Java)。
从Trang的官方网站上可以看到:
Trang可以在不同的XML模式语言之间进行转换。它支持以下语言:
- RELAX NG(XML语法)
- RELAX NG紧凑语法
- XML 1.0 DTD
- W3C XML模式
可以将任何一种支持的模式语言编写的模式转换为其他支持的模式语言,但W3C XML模式仅可用于输出,不能用于输入。
Trang还可以从一个或多个示例XML文档推断出一个模式。
下载链接:https://github.com/relaxng/jing-trang
Trang也是OxygenXML集成的工具,用于从一个或多个XML文档推断XSD模式。在这里的第一次尝试中,它似乎工作得很好。
如果你只需要从XML文件生成XSD,我认为Trang是最好、最快、最简单的选择。
Trang的文档内容有点少。要生成一个模式,请运行命令$ trang file.xml schema.xsd
。
在Windows上运行:java -jar trang.jar file.xml schema.xsd
在我的XML示例中,存在一些在各个地方以相同形式出现的子结构,Trang在检测到重复并生成最小的XSD方面表现得非常出色,这正是我所需要的。非常好!
问题的原因是用户想要找到一种工具,可以从XML实例文档生成XSD模式。用户提到了两种解决方法:
1. 使用Apache的XMLBeans工具中的inst2xsd。这是一个开源的跨平台选项,非常有用且易于使用。用户可以下载并解压缩XMLBeans,然后使用inst2xsd命令运行。这个工具需要Java环境。
2. 使用免费的IntelliJ IDEA社区版。这个IDE也提供了从实例文档生成XML模式的功能。用户可以访问jetbrains.com的链接,了解如何使用这个功能。
此外,用户还提供了一个命令行示例,展示了如何使用inst2xsd命令来生成XSD模式。
需要注意的是,XMLBeans已经移到了attic.apache.org,这是已退役的Apache项目的存储库。也就是说,自2012年以来,XMLBeans没有进行更新。
用户想要找到一种从XML实例文档生成XSD模式的工具。用户提到了Apache的XMLBeans工具中的inst2xsd以及IntelliJ IDEA的功能。用户还提供了一个命令行示例。然而,需要注意的是XMLBeans已经不再更新。
有没有工具可以从XML实例文档生成XSD模式?
在这个问题中,用户询问是否有任何工具可以从XML实例文档生成XSD模式。以下是用户在讨论中提到的问题的原因和解决方法:
原因:
- 用户想要从XML实例文档生成XSD模式。
- 用户可能没有找到合适的工具来执行此操作。
- 用户可能不熟悉可用的工具和解决方案。
解决方法:
- 用户提到了Microsoft XSD推断工具,这是一个免费的解决方案。
- 用户还提到了其他一些XML编辑工具,如XmlSpy和OxygenXML Editor,它们也具有此功能,但价格较高。
- 用户还提到了BizTalk Server具有XSD推断工具。
- 用户指出,.NET也有一个XmlSchemaInference类,如果用户使用.NET,可以考虑使用该类。
- 一位用户分享了在他们的系统上找到的xsd.exe工具的位置,并提供了一个替代链接以下载xsd.exe工具。
- 另一位用户指出,在Windows 7上,xsd.exe工具的目录似乎发生了变化,并提供了一个新的目录路径。
- 一位用户提到他们在使用MS XSD推断工具时遇到了内存不足的问题,并提供了有关他们如何解决此问题的信息。
- 最后,一位用户在2021年提到他们在Windows 10上找到了xsd.exe工具的位置,并提供了一个路径。
这篇文章讨论了从XML实例文档生成XSD模式的问题,并提供了多种解决方法和用户的经验分享。它介绍了不同的工具和路径,以帮助读者解决类似的问题。