我在将xjb继承绑定应用于simpleType时遇到了一些麻烦。将它应用于complexType似乎工作正常。
我得到的错误是:
compiler was unable to honor this implements customization. It is attached to a wrong place, or its inconsistent with other bindings.
我的绑定看起来像这样:
<jaxb:bindings version="1.0"
xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:inheritance="http://jaxb2-commons.dev.java.net/basic/inheritance"
jaxb:extensionBindingPrefixes="xjc">
<jaxb:bindings schemaLocation="../xsd/schema.xsd" node="/xs:schema">
<jaxb:bindings multiple="true"
node="//xs:complexType[substring(@name, string-length(@name)-string-length('-e')+1)='-e']">
<inheritance:implements>mypackage.Element</inheritance:implements>
</jaxb:bindings>
<jaxb:bindings multiple="true"
node="//xs:simpleType[descendant::xs:restriction[@base='string']]">
<inheritance:implements>mypackage.Element</inheritance:implements>
</jaxb:bindings>
</jaxb:bindings>
我的xsd包含以下几行:
<simpleType name="checkOut">
<restriction base="string"/>
</simpleType>
<simpleType name="checkIn">
<restriction base="string"/>
</simpleType>
<complexType name="Author-e"></complexType>
因此,任何将此插件/修改应用于simpleType的尝试都会失败。继承插件不支持simpleType吗?
答案 0 :(得分:1)
此处是作者或jaxb2-basics继承插件。
该插件不处理简单类型。
如果我没有弄错的话,XJC(必然)不会为派生的简单类型生成类。因此,您可能无法生成mypackage.CheckOut
或mypackage.CheckIn
。因此,没有类可以将implements mypackage.MyElement
添加到。