Java – JAXB empty node in binding
•
Java
JAXB cannot resolve the binding for this example:
<xs:element name="classA" type="classA" substitutionGroup="classSubA"/> <xs:complexType name="complexClassA" mixed="true"> <xs:attribute name="attA"> <xs:annotation> <xs:appinfo> <moProperty value="classA:attA"/> <label value="Attribute A" default="true"/> <externAccess value="readWrite"/> <description value="NO COMMENTS"/> </xs:appinfo> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="off"/> <xs:enumeration value="on"/> </xs:restriction> </xs:simpleType> </xs:attribute>
And bindings XML (fragment):
<jxb:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:jxb="http://java.sun.com/xml/ns/jaxb" version="2.1"> <jxb:bindings schemaLocation="schema/mySchema.xsd"> <jxb:bindings node="//xs:complexType[@name='complexClassA']"> <jxb:bindings node=".//xs:element[@name='attA']"> <jxb:property name="att" /> </jxb:bindings> </jxb:bindings> </jxb:bindings> </jxb:bindings>
When generating java files, the error is:
com.sun.istack.SAXParseException2: XPath evaluation of ".//xs:element[@name='attA']" results in empty target node
What am I overlooking?
thank you.
You do
Solution
I think this:
<jxb:bindings node=".//xs:element[@name='attA']">
It should be like this:
<jxb:bindings node=".//xs:attribute[@name='attA']">
You have an attribute, and XPath applies to an element
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码