<xsd:schema
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://xbean/scomp/substGroup/Wide"
    targetNamespace="http://xbean/scomp/substGroup/Wide"
    xmlns:base="http://xbean/scomp/substGroup/Deep"
    >
     <xsd:import namespace="http://xbean/scomp/substGroup/Deep"
            schemaLocation="Deep.xsd"/>


    <xsd:complexType name="businessShirtType">
        <xsd:complexContent>
            <xsd:restriction base="base:shirtType">
                <xsd:sequence>
                    <xsd:element name="number" type="xsd:token"/>
                    <xsd:element name="name" type="xsd:string"/>
                    <xsd:element name="size" type="xsd:positiveInteger"/>
                    <xsd:element name="color">
                       <xsd:simpleType>
                            <xsd:restriction base="base:colorType">
                                <xsd:pattern value="white"/>
                            </xsd:restriction>
                        </xsd:simpleType>
                    </xsd:element>
                </xsd:sequence>
            </xsd:restriction>
        </xsd:complexContent>
    </xsd:complexType>


    <xsd:complexType name="hatType">
        <xsd:complexContent>
            <xsd:extension base="base:productType">
                <xsd:sequence>
                    <xsd:element name="size" type="xsd:positiveInteger"/>
                </xsd:sequence>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="baseballHatType">
        <xsd:complexContent>
            <xsd:extension base="hatType">
                <xsd:attribute name="TeamName" type="xsd:string"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:complexType name="beachUmbrellaT">
        <xsd:complexContent>
            <xsd:extension base="base:productType">
                <xsd:attribute name="diameter" type="xsd:float"/>
            </xsd:extension>
        </xsd:complexContent>
    </xsd:complexType>

    <xsd:element name="umbrella" substitutionGroup="base:product"/>
    <xsd:element name="beachumbrella" type="beachUmbrellaT" substitutionGroup="umbrella"/>

    <xsd:element name="shirt" type="base:shirtType" substitutionGroup="base:product"/>
    <xsd:element name="businessshirt" type="businessShirtType" substitutionGroup="shirt"/>

    <xsd:element name="hat" type="hatType" substitutionGroup="base:product"/>
    <xsd:element name="baseballhat" type="baseballHatType" substitutionGroup="hat"/>

  <!--  <xsd:element name="product" type="base:productType"/>
    <xsd:element name="items" type="base:ItemType"/> -->
</xsd:schema>