Jaxb - Class generation with rootElement during inclusion

30 Views Asked by At

Here is my problem : I'm using JaxB to generate java class with the .xsd file. I want to generate a class that looks like :

@XmlRootElement(name = "A", namespace = "namespace")
public Class A {
    @XmlElement(namespace = "namespace", required = true)
    protected B b;
}

and

@XmlRootElement(name = "B", namespace = "namespace")
public Class B {
    @XmlElement(namespace = "namespace", required = true)
    protected String string;
}

My xsd are :

A :

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
           targetNamespace="namespace">
    <xs:import schemaLocation="b.xsd" namespace="namespace"/>
    <xs:element name="a">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="b" maxOccurs="1" />
            </xs:sequence>
        </xs:complexType>
    </element>
</xs:schema>

B :

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"
                       targetNamespace="namespace">

    <xs:element name="b">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="string" type="xs:string" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Of course, this is an example, the class A have more parameters...

My problem is, when JaxB generates the class, only the class A have the @XmlRootElement... But I need the class B to have it too.

Any idea ? :)

Thank you !

0

There are 0 best solutions below