2017-09-25 176 views
0

我試圖從使用Maven maven-jaxb2-plugin的簡單類型的基地int生成枚舉。但是沒有生成枚舉。生成基地枚舉int

我可以看到生成器正在使用綁定文件,因爲如果找不到映射,它會引發錯誤。

當我將基數更改爲string時,生成枚舉(但我不允許更改基數)。

所以,我有一些配置錯誤,或者它根本不可能?

XSD的摘錄:

<xs:simpleType name="codeType"> 
    <xs:restriction base="xs:int"> 
    <xs:enumeration value="200"/> 
    <xs:enumeration value="400"/> 
    </xs:restriction> 
</xs:simpleType> 

綁定文件摘錄:

<jaxb:bindings schemaLocation="some.xsd"> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']/xs:restriction/xs:enumeration[@value='200']"> 
    <jaxb:typesafeEnumMember name="OK" /> 
    </jaxb:bindings> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']/xs:restriction/xs:enumeration[@value='400']"> 
    <jaxb:typesafeEnumMember name="BAD_REQUEST" /> 
    </jaxb:bindings> 
</jaxb:bindings> 

回答

0

我終於成功,所生成的枚舉。

綁定文件摘錄:

<jaxb:bindings schemaLocation="some.xsd"> 
    <jaxb:bindings node="//xs:simpleType[@name='codeType']"> 
    <jaxb:typesafeEnumClass> 
     <jaxb:typesafeEnumMember value="200" name="OK" /> 
     <jaxb:typesafeEnumMember value="400" name="BAD_REQUEST" /> 
    </jaxb:typesafeEnumClass> 
    </jaxb:bindings> 
</jaxb:bindings> 

詳情請參閱https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Fuse/6.0/html/Developing_Applications_Using_JAX-WS/files/JAXWSCustomTypeMappingEnum.html