2011-07-27 6 views
4

JAXBこの例のバインディング解析できない。JAXB空ノード

<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> 

そしてbindings.xml(断片):

<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> 

Javaの生成エラーをファイルです。

com.sun.istack.SAXParseException2: XPath evaluation of ".//xs:element[@name='attA']" results in empty target node 

私は見落としているものはありますか?

ありがとうございます。

Udo。

<jxb:bindings node=".//xs:element[@name='attA']"> 

このことする必要があります:

答えて

1

私はこれはと思う

<jxb:bindings node=".//xs:attribute[@name='attA']"> 

あなたが属性を持って、XPathは要素に適用されます。