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
.