2015-04-03 29 views
1

我是模式和JAXB API的新手。所以我試着通過嘗試一些例子來學習。 我試圖用eclipse嚮導生成JAXB類,但是它開始並沒有生成任何枚舉。 XSD的JAXB類eclipse嚮導沒有生成枚舉

部分如下其用於genearate類,

<complexType name="ShipOrderType"> 
    <sequence> 
     <element name="orderperson" type="string"></element> 
     <element name="shipto" type="tns:shiptoType"></element> 
    </sequence> 
    <attribute name="orderid" type="int" use="required"></attribute> 
</complexType> 

<complexType name="shiptoType"> 
    <sequence> 
     <element name="name" maxOccurs="1" minOccurs="1" type="string"> 
     </element> 
     <element name="city"> 
      <simpleType> 
       <restriction base="string"> 
        <enumeration value="Bangalore"></enumeration> 
        <enumeration value="Mysore"></enumeration> 
       </restriction> 
      </simpleType> 
     </element> 
    </sequence> 
    <attribute name="orderid" type="string"></attribute> 
</complexType> 

我缺少的東西或者是它在Eclipse中的錯誤? 請幫忙。

回答

0

我可能沒有最好的解決方案,但它應該工作:
從complexType中提取simpleType併爲其命名。

<complexType name="ShipOrderType"> 
    <sequence> 
     <element name="orderperson" type="string"></element> 
     <element name="shipto" type="tns:shiptoType"></element> 
    </sequence> 
    <attribute name="orderid" type="int" use="required"></attribute> 
</complexType> 

<complexType name="shiptoType"> 
    <sequence> 
     <element name="name" maxOccurs="1" minOccurs="1" type="string"> 
     </element> 
     <element name="city" type="City"> 
     </element> 
    </sequence> 
    <attribute name="orderid" type="string"></attribute> 
</complexType> 

<simpleType name="City"> 
    <restriction base="string"> 
     <enumeration value="Bangalore"></enumeration> 
     <enumeration value="Mysore"></enumeration> 
    </restriction> 
</simpleType> 

也許,如果你不提取簡單的類型,但只有名稱它也會工作。