java - 从 xsd 文件导出类型列表

标签 java xml eclipse xsd

我需要比较各种 xsd 文件中包含的类型列表。有数百种类型,因此我想将类型的名称转换为文本格式,以便我可以使用其他软件比较数百个元素的列表。是否有一个简单、免费的工具可以仅提取 xsd 文件中所有类型的名称?

我正在使用eclipsejavaeclipse xsd 设计 View 显示类型名称,但不允许您以文本格式将名称提取到 Windows 剪贴板中以便在其他应用程序中使用。

最佳答案

XSLT 转换正是完成这项工作的工具。样式表可能如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  <xsl:template match="node()">
    <xsl:apply-templates select="node()"/>
  </xsl:template>

  <xsl:template match="xsd:simpleType">
    <xsl:value-of select="@name"/><xsl:text>&#xa;</xsl:text>
    <xsl:apply-templates select="node()"/>
  </xsl:template>

  <xsl:template match="xsd:complexType">
    <xsl:value-of select="@name"/><xsl:text>&#xa;</xsl:text>
    <xsl:apply-templates select="node()"/>
  </xsl:template>

</xsl:stylesheet>

您甚至可以修改它以指示哪些类型是简单的,哪些类型是复杂的。

您可以通过命令行处理器(例如 xsltproc)使用该样式表来处理您的 XSD,或者围绕 Java 的内置 XSLT 引擎编写您自己的包装器来执行相同的操作也非常容易工作。

关于java - 从 xsd 文件导出类型列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26918237/

相关文章:

java - 为什么我的 split 太过雄心勃勃?

java - BindingAdapter 未被识别为适用于具有泛型的属性

xml - 使用 VBA 和 xPath 遍历 XML 文件

java - 手机关机后重新启动

java - Eclipse:搜索以下位置后未找到Java虚拟机:/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/

java - 替换数组中的重复字符

java - 使用 @TableGenerator 的 JPA id 生成表的动态值

c# - 在 C# 3.0 中缩小 XML 的最佳方法

java - JasperReports 以 XML 作为输入 --- 获取 Inputstream 空指针异常

eclipse - 无法从 Eclipse 部署 JavaFX 2 jar