Il seguente schema va generando due primitive int
campi in una classe Value
, ma genera invece una primitiva int
per la elemento e java.lang.Integer per l'attributo .XJC Generazione intero Invece di 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>
Ho guardato attraverso il JAXB documentation per tutto ciò che dice che gli attributi e gli elementi possono essere generati in modo diverso e hanno trovato nulla.
Qualcuno può spiegarlo? Esiste una soluzione per rendere l'attributo generato come primitivo int
?
+1 - La tua epifania è corretta. –