使用Java将XSD转换为树结构 [英] Convert XSD to tree structure with Java
问题描述
我想生成XML模式的文档。
I want to generate documentation for XML schemas.
我的目标是分析xsd文件并将其显示为树结构(解析所有复杂/匿名类型)。此外,我需要用它们的基数(由模式定义)注释该树中的所有项目。
My goal is to analyze the xsd file and to display it as a tree structure (with all complex / anonymous types resolved). Furthermore I need to annotate all items in that tree with their cardinality (as defined by the schema).
以下小例子可能有助于澄清我的问题。
The following small example might help to clarify my problem.
a)xsd文件:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="client" type="clientType" />
<xs:complexType name="clientType">
<xs:sequence minOccurs="1" maxOccurs="1">
<xs:element name="first_name"/>
<xs:element name="last_name"/>
<xs:element name="address" type="addressType"
minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="addressType">
<xs:sequence>
<xs:element name="street"/>
<xs:element name="number" minOccurs="0" maxOccurs="1"/>
<xs:element name="city"/>
<xs:element name="zipcode"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
b)输出我想看:
client [1]
first_name [1]
last_name [1]
address [1..n]
street [1]
number [0..1]
city [1]
zipcode [1]
有人知道基于java的解决方案吗?最好是基于 Eclipse Schema Infoset ,但我也很乐意使用其他库。
Does anybody know a java based solution for this problem? Preferably based on Eclipse Schema Infoset, but I'm happy to use other libraries as well.
推荐答案
XSOM 可以将XSD规范化为易于理解的数据结构,您可以循环并打印出来。
XSOM can normalize an XSD into a comprehensible data structure that you can loop over and print out.
这篇关于使用Java将XSD转换为树结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!