I am trying to generate xml using jaxb. I created xsd and generated java classes.
But when I generate xml, I am geeting prefix ns2 to the root tag, which I don’t want.
ex: I want root tag to be
<report>
<id>rep 1</id>
</report>
, But getting as
<ns2:report>
....
</ns2:report>
In the generated java class, I gave annotation as @XmlRootElement(name="report",namespace="urn:report")
Can some one pls help
If this is your class:
Then it makes sense that there is a prefix on the root element, because you have specified that the “root” element is namespace qualified and the “id” element is not.
If you add a package-info class to your model, you can leverate the @XmlSchema annotation:
Then the JAXB implementation may choose to leverage the default namespace, but note now all of the elements are namespace qualified which may or may not match your XML schema:
For more information on JAXB and namespaces see: