<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns="http://www.mulesource.org/schema/mule/${TransportNameLower}/${MuleMajorMinorVersion}"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:mule="http://www.mulesource.org/schema/mule/core/${MuleMajorMinorVersion}"
            targetNamespace="http://www.mulesource.org/schema/mule/${TransportNameLower}/${MuleMajorMinorVersion}"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified">

    <xsd:import namespace="http://www.w3.org/XML/1998/namespace"/>
    <xsd:import namespace="http://www.springframework.org/schema/beans"
                schemaLocation="http://www.springframework.org/schema/beans"/>

    <xsd:import namespace="http://www.mulesource.org/schema/mule/core/${MuleMajorMinorVersion}"/>

    <xsd:element name="connector" type="${TransportNameLower}ConnectorType" substitutionGroup="mule:abstract-connector">
        <xsd:annotation>
            <xsd:documentation>
                ${description}
            </xsd:documentation>
        </xsd:annotation>
    </xsd:element>


    <xsd:complexType name="test2ConnectorType">
        <xsd:complexContent>
            <xsd:extension base="mule:connectorType">
            <!--

            TODO for simple property types you can just add xsd:attribute elements here
            For complex properties with multiple values you can add custom elements and register
            a definition parser with ${TransportNameLower}NamespaceHandler.

            For example -

            <xsd:attribute name="swizzleSize" type="mule:substitutableInt">
                <xsd:annotation>
                    <xsd:documentation>
                        Sets the amount of swizzle available for your twizzle
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:attribute>

            Note the type of the attribute is mule:substitutableInt.  For non-string simple
            types you should use mule:substitutableBoolean, mule:substitutableLong, etc since
            these types allow property placeholders to be used instead of the actual value.
            The property can then be set according to the properties available to the MUle instance. i.e

            <${TransportNameLower}:connector name="smallTwizzler" swizzlerSize="${small.swizzle}"/>

            where small.swizzle is set in a properties files or system property.  This makes it easy
            to use the same config file for differnet environments such as Developement, UAT and Production

            -->

            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

</xsd:schema>