这是我的问题:
我有两个 .xsd 文件,我们称它们为 a.xsd 和 b.xsd。我想要实现的是从 a.xsd 生成所有类,不包括 b.xsd 中的类。现在的问题是,a.xsd 引用了 b.xsd 中的一个类型(通过 a ),所以即使被排除在外,b.xsd 中的类也会被构建。有没有办法解决这个问题?
这是我的问题:
我有两个 .xsd 文件,我们称它们为 a.xsd 和 b.xsd。我想要实现的是从 a.xsd 生成所有类,不包括 b.xsd 中的类。现在的问题是,a.xsd 引用了 b.xsd 中的一个类型(通过 a ),所以即使被排除在外,b.xsd 中的类也会被构建。有没有办法解决这个问题?
您不能排除模式,但可以排除模式派生的包。
请参阅忽略包:
<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 的问题要快。