I am using the tutorial here for understanding JAXB.
When the writer comes to create the root of the document, the writer begins as below:
//This sta
@XmlRootElement annotation can be used to map a class or enum type to XML type.
When a top level class or an enum type is annotated with the @XmlRootElement annotation, then its value is represented as XML element in an XML document.
Follow the example given below to get more idea:
Associate an element with XML Schema type
// Example: Code fragment
@XmlRootElement
class Point {
int x;
int y;
Point(int _x,int _y) {x=_x;y=_y;}
}
//Example: Code fragment corresponding to XML output
marshal( new Point(3,5), System.out);
<!-- Example: XML output -->
<point>
<x> 3 </x>
<y> 5 </y>
</point>
I recommend using the package level @XmlSchema
annotation to specify the namespace qualification for you model. A package level annotation goes in a special class called package-info
that contains the exact content as shown below. That annotation will mean that all elements in your document without an explicit namespace given will use that namespace.
org/example/foo/package-info.java
@XmlSchema(
namespace = "http://www.example.org/foo",
elementFormDefault = XmlNsForm.QUALIFIED)
package org.example.foo;
import javax.xml.bind.annotation.XmlNsForm;
import javax.xml.bind.annotation.XmlSchema;
Overriding the Namespace
@XmlSchema
for all properties in a class using the @XmlType
annotation.@XmlRootElement
or @XmlElement
annotation.For More Information