2011-09-01 9 views
7

El siguiente esquema debería estar generando dos int campos primitivas en una clase Value, pero en vez genera una primitiva int para el elemento y java.lang.Integer para el atributo.XJC Generating Entero En lugar de int

<?xml version="1.0" encoding="UTF-8"?> 

<xsd:schema version="1.0" xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    targetNamespace="http://www.example.com/test" xmlns:test="http://www.example.com/test" 
    elementFormDefault="qualified"> 

    <xsd:element name="values"> 
     <xsd:complexType> 
      <xsd:sequence minOccurs="0" maxOccurs="unbounded"> 
       <xsd:element ref="test:value" /> 
      </xsd:sequence> 
     </xsd:complexType> 
    </xsd:element> 

    <xsd:element name="value"> 
     <xsd:complexType> 
      <xsd:sequence> 
       <!-- Is generated as primitive int --> 
       <xsd:element name="element" type="xsd:int" /> 
      </xsd:sequence> 
      <!-- Is generated as java.lang.Integer --> 
      <xsd:attribute name="attribute" type="xsd:int" /> 
     </xsd:complexType> 
    </xsd:element> 

</xsd:schema> 

He mirado a través de la JAXB documentation para cualquier cosa que dice que los atributos y elementos pueden ser generados de manera diferente y no encontraron nada.

¿Alguien puede explicar esto? ¿Hay una solución para hacer que el atributo se genere como una primitiva int?

Respuesta

Cuestiones relacionadas