Ich habe einige Probleme beim Anwenden von Xjb Vererbungsbindungen auf einen SimpleType. Anwenden auf einen complexType scheint gut zu funktionieren.Vererbung Plugin für JAXB2 funktioniert nicht auf SimpleTypes
Der Fehler, den ich bekommen ist:
compiler was unable to honor this implements customization. It is attached to a wrong place, or its inconsistent with other bindings.
Meine Bindungen wie folgt aussehen:
<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>
Und meine XSD enthält die folgenden Zeilen:
<simpleType name="checkOut">
<restriction base="string"/>
</simpleType>
<simpleType name="checkIn">
<restriction base="string"/>
</simpleType>
<complexType name="Author-e"></complexType>
Folglich jeder Versuch, Wenden Sie dieses Plugin/Änderung auf einen SimpleType fehlschlägt. Werden SimpleTypes vom Vererbungs-Plugin nicht unterstützt?