1

这是我的问题:

我有两个 .xsd 文件,我们称它们为 a.xsd 和 b.xsd。我想要实现的是从 a.xsd 生成所有类,不包括 b.xsd 中的类。现在的问题是,a.xsd 引用了 b.xsd 中的一个类型(通过 a ),所以即使被排除在外,b.xsd 中的类也会被构建。有没有办法解决这个问题?

4

1 回答 1

1

您不能排除模式,但可以排除模式派生的包。

请参阅忽略包

<jaxb:bindings schemaLocation="schema-ignored.xsd" node="/xsd:schema">
    <jaxb:schemaBindings>
        <jaxb:package name="org.jvnet.hyperjaxb3.ejb.tests.issuesignored"/>
    </jaxb:schemaBindings>
    <hj:ignored-package name="org.jvnet.hyperjaxb3.ejb.tests.issuesignored"/>
</jaxb:bindings>

由于您实际上从b.xsd某个地方引用了一个类型,a.xsd因此您需要打破这个引用。您可以使用忽略此属性,也可以hj:ignored自定义它xjc:dom以使其成为 Java 类中的 DOM 元素。

附言。我的回复users@hyperjaxb.java.net速度比对 SO 的问题要快。

于 2011-08-16T19:08:19.663 回答