1

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 的项目中。

4

1 回答 1

1

注意: 我是EclipseLink JAXB (MOXy)负责人,也是JAXB (JSR-222)专家组的成员。

JAXB 没有提供您所描述的替代方法XmlBeans.compileXsd()。元数据的唯一表达是通过注释。您可以使用 JAXB API 生成 XML 模式(请参阅: http ://wiki.eclipse.org/EclipseLink/Examples/MOXy/JAXB/GenerateSchema ),但您需要另一个工具以您正在寻找的方式解释它为了。

于 2013-09-20T17:32:51.507 回答