<?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>

    <ExtensionBaseTypeElem>
        <ExtBaseTypeElem1>Product One</ExtBaseTypeElem1>
        <ExtBaseTypeElem2>0001</ExtBaseTypeElem2>
    </ExtensionBaseTypeElem>

    <ExtensionDerivedComplexContentTypeElem>
        <ExtBaseTypeElem1>Mazda 6</ExtBaseTypeElem1>
        <ExtBaseTypeElem2>0001</ExtBaseTypeElem2>
        <ExtDerivedTypeElem1>
            <Valves>6</Valves>
        </ExtDerivedTypeElem1>
    </ExtensionDerivedComplexContentTypeElem>

    <ExtensionBaseMixedContentTypElem>
        <ExtBaseMixedElem1>Mixed Base Elem1</ExtBaseMixedElem1>
        <ExtBaseMixedElem2>
            <Capacity>2.0</Capacity>
        </ExtBaseMixedElem2>
    </ExtensionBaseMixedContentTypElem>

    <ExtensionDerivedMixedContentTypeElem ExtDerivedMixedAttr="1">
        <ExtBaseMixedElem1>Mixed Base Elem1 Again</ExtBaseMixedElem1>
        <ExtBaseMixedElem2>
            <Capacity>1.0</Capacity>
        </ExtBaseMixedElem2>

        <ExtDerivedMixedElem1>

        </ExtDerivedMixedElem1>
    </ExtensionDerivedMixedContentTypeElem>

    <RestrictionSimpleContentBaseTypeElem RestrictionSimpleContentBaseAttr1="optional here">25</RestrictionSimpleContentBaseTypeElem>

    <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>
