2017-09-21 3 views
0

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?

Antwort

1

Autor oder die Vererbung Plugin hier.

Das Plugin behandelt keine einfachen Typen.

Wenn ich mich nicht irre, generiert XJC nicht (unbedingt) Klassen für abgeleitete einfache Typen. So wirst du wahrscheinlich nicht mypackage.CheckOut oder mypackage.CheckIn generiert bekommen. Es wird also keine Klassen geben, die implements mypackage.MyElement hinzufügen können.

Verwandte Themen