我需要比较各种xsd
文件中包含的类型列表。有数百种类型,所以我想将这些类型的名称转换为文本格式,以便我可以使用其他软件比较数百个元素的列表。是否有一个简单的免费工具可以提取xsd
文件中所有类型的名称?从xsd文件导出类型列表
我正在使用eclipse
和java
。 eclipse xsd design view
显示类型的名称,但不允许您以文本格式将名称提取到Windows剪贴板中以供其他应用程序使用。
我需要比较各种xsd
文件中包含的类型列表。有数百种类型,所以我想将这些类型的名称转换为文本格式,以便我可以使用其他软件比较数百个元素的列表。是否有一个简单的免费工具可以提取xsd
文件中所有类型的名称?从xsd文件导出类型列表
我正在使用eclipse
和java
。 eclipse xsd design 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>
</xsl:text>
<xsl:apply-templates select="node()"/>
</xsl:template>
<xsl:template match="xsd:complexType">
<xsl:value-of select="@name"/><xsl:text>
</xsl:text>
<xsl:apply-templates select="node()"/>
</xsl:template>
</xsl:stylesheet>
您甚至可以修改它以指出哪些类型很简单,哪些类型很复杂。
您可以使用该样式表通过命令行处理程序(如xsltproc
)处理您的XSD,或者使用Java的内置XSLT引擎编写自己的包装来完成相同的工作非常容易。
+1,并感谢您对此进行调查。我将等待回顾,直到我有时间在网络上对这些概念进行一些研究。对于直接的问题,我只是最终在eclipse中打开了两个窗口,所以我可以通过对齐窗口并排查看xsd设计视图中的类型列表。但是你的方法看起来更复杂,所以我会在以后热切地阅读它。 – CodeMed
您是否在寻找XSD中声明的*类型,或者其中使用了*的类型? –
@JohnBollinger我正在寻找文件中声明的类型,因为在这种情况下跟踪会更简单。在这种情况下,其中使用的类型应该自己照顾自己。 – CodeMed