Databases Reference
In-Depth Information
Elements versus types
A common dilemma is whether to use elements or types to define global
components. Types tend to be more flexible, in that once you've defined the
type, it can be reused to define multiple elements of the same type.
Also, once you have defined a type, you can easily use it to define an element. In the
following example, we have remodeled the above schema to separately define the
types and then use them to define the elements. As a result, we have slightly fewer
lines of XML as well as a more flexible model:
<xsd:elementname="shipTo"type="tShipTo">
<xsd:complexTypename="tShipTo">
<xsd:sequence>
<xsd:element ref="name"/>
<xsd:element ref="address/>
</xsd:sequence>
</xsd:complexType>
<xsd:elementname="name"type="tName">
<xsd:complexTypename="tName">
<xsd:sequence>
<xsd:elementname="title"type="xsd:string"/>
<xsd:elementname="firstName"type="xsd:string"/>
<xsd:elementname="lastName"type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:elementname="address"type="tAddress">
<xsd:complexTypename="tAddress">
<xsd:sequence>
<xsd:elementname="line1"type="xsd:string"/>
<xsd:elementname="line2"type="xsd:string"/>
<xsd:elementname="city"type="xsd:string"/>
<xsd:elementname="state"type="xsd:string"/>
<xsd:elementname="zip"type="xsd:string"/>
<xsd:elementname="country"type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
 
Search WWH ::




Custom Search