<?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.
 */
-->

<DerivedTypesTestRoot>

    <!-- this xsd has only the modified derived types -->
    <ExtensionDerivedComplexContentTypeElem>
        <ExtBaseTypeElem3>This and the next Elem are from the new base type</ExtBaseTypeElem3>
        <ExtBaseTypeElem4>0001</ExtBaseTypeElem4>
        <ExtDerivedTypeElem1>
            <Valves>6</Valves>
        </ExtDerivedTypeElem1>
    </ExtensionDerivedComplexContentTypeElem>

    <ExtensionDerivedMixedContentTypeElem ExtDerivedMixedAttr="1">
        <ExtBaseMixedElem3>New Base Type for Mixed Content - has elems 3 and 4 instead of 1 and 2</ExtBaseMixedElem3>
        <ExtBaseMixedElem4>
            <Capacity>1.0</Capacity>
        </ExtBaseMixedElem4>

        <ExtDerivedMixedElem1>Elem in deriving type</ExtDerivedMixedElem1>
    </ExtensionDerivedMixedContentTypeElem>

    <!-- simple content unchanged -->
    <RestrictionSimpleContentDerivedTypeElem RestrictionSimpleContentBaseAttr1="required here">3</RestrictionSimpleContentDerivedTypeElem>

    <RestrictionBaseComplexContentTypeElem>
        <RestrictionBaseElem1>This is a string type</RestrictionBaseElem1>
        <RestrictionBaseElem2>25</RestrictionBaseElem2>
        <RestrictionBaseElem3>2</RestrictionBaseElem3>
        <RestrictionBaseElem4>This has Min Requires 0 - is missing in the derived type </RestrictionBaseElem4>
    </RestrictionBaseComplexContentTypeElem>

    <RestrictionDerivedComplexContentTypeElem>
        <RestrictionBaseElem1>This is a string type</RestrictionBaseElem1>
        <RestrictionBaseElem2>25</RestrictionBaseElem2>
    </RestrictionDerivedComplexContentTypeElem>


    <RestrictionBaseMixedContentTypeElem>
        <ResBaseMixedElem1>This is present in the derived type</ResBaseMixedElem1>
        <ResBaseMixedElem2>
            <Capacity>2.0</Capacity>
        </ResBaseMixedElem2>
    </RestrictionBaseMixedContentTypeElem>

    <RestrictionDerivedMixedContentTypeElem>
        <ResBaseMixedElem1>This is present in the derived type</ResBaseMixedElem1>
    </RestrictionDerivedMixedContentTypeElem>

    <RestrictionBaseEmptyContentTypeElem RestrictionBaseEmptyContentAttr1="34"></RestrictionBaseEmptyContentTypeElem>
    <RestrictionDerivedEmptyContentTypeElem RestrictionBaseEmptyContentAttr1="1"></RestrictionDerivedEmptyContentTypeElem>


</DerivedTypesTestRoot>
