JAXB是否提供了XMLBeans compileXsd的替代方法?

时间:2013-09-19 18:42:09

标签: java xml jaxb xsd xmlbeans

XmlBeans通过XmlBeans.compileXsd()提供对XML模式遍历的访问。返回它们的SchemaTypeSystem,它允许方便地对整个模式进行高级访问。这对于代码生成(例如,对于其他语言或其他非XML表示)等非常方便。

例如,您可以执行类似......

的操作
SchemaTypeSystem sts = XmlBeans.compileXsd(new XmlObject[] {
XmlObject.Factor.parse(xsdFile) }, XmlBeans.getBuiltInTypeSystem(), null);

然后,您可以深入了解SchemaTypeSystem以获取有关其架构的所有信息。

JAXB或任何其他标准Java工具中是否有提供等效功能的东西?我不只是想要一个代表架构的DOM树。

大多数情况下,我不想将XMLBeans拖到当前依赖于JAXB的项目中。

1 个答案:

答案 0 :(得分:1)

注意:我是EclipseLink JAXB (MOXy)主管,是JAXB (JSR-222)专家组的成员。

JAXB不提供您描述XmlBeans.compileXsd()的替代方法。元数据的唯一表达是通过注释。您可以使用JAXB API生成XML模式(请参阅:http://wiki.eclipse.org/EclipseLink/Examples/MOXy/JAXB/GenerateSchema),但您需要使用其他工具以您查找的方式对其进行解释。