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
.