Liquid Studio 2020
XSD Editor / Graphical Notation Overview / Complex Type / Complex Type Reference
In This Topic
    Complex Type Reference
    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.