<?xml version="1.0" encoding="UTF-8" ?>
<!--
/*   Copyright 2004 The Apache Software Foundation
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *  limitations under the License.
 */
-->
<xsd:schema
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://xbean/dom/ComplexTypeTest"
    targetNamespace="http://xbean/dom/ComplexTypeTest"
    >
  <!--element only-->
     <xsd:complexType name="elementT">
                <xsd:sequence>
                    <xsd:element name="child1" type="xsd:integer"/>
                    <xsd:element name="child2" type="xsd:integer"/>
                    <xsd:element name="child3" type="xsd:integer"/>
                </xsd:sequence>
            </xsd:complexType>
   <!--mixed-->
    <xsd:complexType mixed="true" name="mixedT">
                <xsd:sequence>
                    <xsd:element name="child1" type="xsd:integer"/>
                    <xsd:element name="child2" type="xsd:integer"/>
                    <xsd:element name="child3" type="xsd:integer"/>
                </xsd:sequence>
            </xsd:complexType>

    <xsd:complexType name="emptyT">
        <xsd:attribute name="emptyAttr" type="xsd:string"/>
    </xsd:complexType>
    <xsd:complexType name="emptyMixedT" mixed="true">
        <xsd:attribute name="emptyAttr" type="xsd:string"/>
    </xsd:complexType>

     <!--empty-->
    <xsd:element name="EltType" type="elementT"/>
    <xsd:element name="MixedType" type="mixedT"/>
    <xsd:element name="EmptyType" type="emptyT"/>
    <xsd:element name="EmptyMixedType" type="emptyT"/>

      <xsd:element name="MixedFixedElt" fixed="abc">
            <xsd:complexType mixed="true">
                <xsd:sequence minOccurs="0">
                    <xsd:element name="a" type="xsd:string"/>
                </xsd:sequence>
            </xsd:complexType>
        </xsd:element>
</xsd:schema>