In This Topic
Graphical Representation
Summary
The <complexType> allows you to build up re-usable or extendable objects. Before you can reference a Complex Type you must first define one (See Complex Type Definition). A complex Type can be referenced as a 'Type' within an element or another ComplexType definition. Once referenced a complex Type can either be used as is, extended or restricted.
Creating
A <complexType> can be referenced by setting an <element> or a complexTypes'a 'Type' property to the existing complex Type. This can be done via the properties panel or the type drop down in the graphical view.
Sample
The following XSD code
<xs:complexType name="AddressType">
<xs:sequence>
<xs:element name="Line1" type="xs:string" />
<xs:element name="Line2" type="xs:string" />
<xs:element name="Line3" type="xs:string" />
<xs:element name="Country" type="xs:string" />
</xs:sequence>
</xs:complexType>
...
<xs:sequence>
<xs:element name="BillingAddress" type="AddressType" />
<xs:element name="DeliveryAddress" type="AddressType" />
</xs:sequence>
Will be represented like this
Sample XML would look like this
<?xml version="1.0" encoding="utf-16"?>
<Customer>
<BillingAddress>
<Line1>12 SomePlace St</Line1>
<Line2>Some Town</Line2>
<Line3>Some City</Line3>
<Country>UK</Country>
</BillingAddress>
<DeliveryAddress>
<Line1>12 SomePlace St</Line1>
<Line2>Some Town</Line2>
<Line3>Some City</Line3>
<Country>UK</Country>
</DeliveryAddress>
</Customer>
Inline Properties
Properties that apply to a type are shown inline at the bottom of the items container.
Values that are inherited from the base types are shown in brackets, values specifically set against the item are shown without brackets.
If a facet is not valid for a given type (typically because of its data type), then its value is shown in red.
Inline properties can be disabled in the
Options.