2.2.11
Defining Types for XML Elements Without Content
Types for XML elements are constructed using xsd:complexType,
even if they do not have content. The snippet below defines a simple
element with two attributes and no sub-elements.
<xsd:complexType name="RouteType">
<xsd:attribute name="Pos" type="xsd:int" use="optional" default="1"/>
<xsd:attribute name="Dir" type="DirType" use="required"/>
</xsd:complexType>
The compiler generates a class RouteType with
getters and setters for the attributes.
public class RouteType {
protected Integer pos;
protected String dir;
public int getPos() {
if (pos == null) {
return 1;
} else {
return pos;
}
}
public void setPos(Integer value) {
this.pos = value;
}
public String getDir() {
return dir;
}
public void setDir(String value) {
this.dir = value;
}
}
The absence of a value for the optional attribute Pos is
represented by an object where the instance variable pos
remains at null. Method getPos takes care of
supplying the default value if the variable is null.