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

    <!-- global elems added for testing -->
    <xsd:element name="testroot">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="testAtomicTypeElem" type="attachmentTypes"/>
                <xsd:element name="testListTypeElem" type="attchmentExtensionListTypes"/>
                <xsd:element name="testUnionTypeElem" type="union.attachmentUnionType" maxOccurs="unbounded"/>
                <xsd:element ref="header"/> <!-- simple content test -->
                <xsd:element name="testComplexTypeElementOnlyContentElem" type="mailsType"/>
                <xsd:element name="testComplexTypeMixedElem" type="mixedContentType"/>
                <xsd:element name="testComplexTypeEmptyElem" type="emptyContentType"/>
                <xsd:element name="testChoiceGroupElem" type="choiceGroupType"/>
                <xsd:element name="testAllGroupElem" type="allGroupType"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>


    <xsd:element name="testAtomicTypeElem" type="attachmentTypes"/>
    <xsd:element name="testListTypeElem" type="attchmentExtensionListTypes"/>
    <xsd:element name="testUnionTypeElem" type="union.attachmentUnionType"/>
    <xsd:element name="testComplexTypeSimpleContentElem" type="headerType"/> <!-- simple content test -->
    <xsd:element name="testComplexTypeElementOnlyContentElem" type="mailsType"/>
    <xsd:element name="testComplexTypeMixedElem" type="mixedContentType"/>
    <xsd:element name="testComplexTypeEmptyElem" type="emptyContentType"/>
    <xsd:element name="testChoiceGroupElem" type="choiceGroupType"/>
    <xsd:element name="testAllGroupElem" type="allGroupType"/>


    <!--  Types added for testing -->
    <!-- atomic type -->
    <!-- commented for modify
    <xsd:simpleType name="attachmentTypes" >
       <xsd:restriction base="xsd:string">
            <xsd:enumeration value="MS Word" />
            <xsd:enumeration value="Adobe Acrobat" />
           <xsd:enumeration value="Ascii Text" />
           <xsd:enumeration value="Web Page" />
       </xsd:restriction>
    </xsd:simpleType>
    -->

    <!-- list type -->
    <xsd:simpleType name="attachmentNums">
        <xsd:restriction base="xsd:integer">
            <xsd:minInclusive value="1"/>
            <xsd:maxInclusive value="4"/>
        </xsd:restriction>
    </xsd:simpleType>

    <!-- commented for modify testing
    <xsd:simpleType name="attchmentExtensionListTypes">
      <xsd:list itemType="attachmentNums" />
    </xsd:simpleType>
    -->

    <!-- union type -->
    <xsd:simpleType name="union.attachmentUnionType">
        <xsd:union memberTypes="attachmentTypes attchmentExtensionListTypes">
        </xsd:union>
    </xsd:simpleType>

    <!--  End of Simple Types added for testing -->

    <!-- complex types adding testing -->
    <!-- complex type :simple content : refers to element header-->

    <xsd:complexType name="headerType">
        <xsd:simpleContent>
            <xsd:extension base="xsd:string">
                <xsd:attribute ref="name" use="required"/>
            </xsd:extension>
        </xsd:simpleContent>
    </xsd:complexType>

    <!-- complex type :element only  content : refers to element header-->

    <xsd:complexType name="mailsType">
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="mail" type="mailType"/>
        </xsd:sequence>
    </xsd:complexType>

    <!-- complex type :mixed only content -->

    <xsd:complexType name="mixedContentType" mixed="true">
        <xsd:sequence minOccurs="0" maxOccurs="unbounded">
            <xsd:element name="mail" type="mailType"/>
        </xsd:sequence>
    </xsd:complexType>

    <!-- complex type : empty content  -->

    <xsd:complexType name="emptyContentType">
        <xsd:attribute name="value" type="xsd:integer"/>
    </xsd:complexType>

    <!-- complex types - choice model grouping -->
    <xsd:complexType name="choiceGroupType">
        <xsd:choice maxOccurs="unbounded" minOccurs="2">
            <xsd:element name="Lang" type="xsd:string"/>
            <xsd:element name="Font" type="xsd:string"/>
            <xsd:element name="Fontcolor" type="xsd:string"/>
        </xsd:choice>
    </xsd:complexType>


    <!-- complex types - choice 'all' grouping -->
    <xsd:complexType name="allGroupType">
        <xsd:all>
            <xsd:element name="Greetings" type="xsd:string"/>
            <xsd:element name="Signature" type="xsd:string"/>
            <!--
            <xsd:element name="ContactNumber" type="xsd:string"/>
            -->
        </xsd:all>
    </xsd:complexType>

    <!-- other types , attributes and elems from the orig schema -->
    <xsd:element name="Date" type="xsd:dateTime"/>
    <xsd:element name="mails" type="mailsType"/>
    <xsd:element name="header" type="headerType"/>

    <xsd:attribute name="name" type="xsd:string"/>

    <xsd:attributeGroup name="mimeTypeAttributes">
        <xsd:attribute name="type" type="mimeTopLevelType" use="required"/>
        <xsd:attribute name="subtype" type="xsd:string" use="required"/>
    </xsd:attributeGroup>

    <xsd:complexType name="mailType">
        <xsd:sequence>
            <xsd:element name="envelope" type="envelopeType"/>
            <xsd:element name="body" type="bodyType"/>
            <xsd:element name="attachment" type="attachmentType"
                minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute use="required" name="id" type="xsd:integer"/>
    </xsd:complexType>

    <xsd:complexType name="envelopeType">
        <xsd:sequence>
            <xsd:element name="From" type="xsd:string"/>
            <xsd:element name="To" type="xsd:string"/>
            <xsd:element ref="Date"/>
            <xsd:element name="Subject" type="xsd:string"/>
            <xsd:element ref="header" minOccurs="0" maxOccurs="unbounded"/>
        </xsd:sequence>
        <xsd:attribute name="From" type="xsd:string" use="required"/>
    </xsd:complexType>

    <xsd:simpleType name="bodyType">
        <xsd:restriction base="xsd:string"/>
    </xsd:simpleType>

    <xsd:complexType name="attachmentType">
        <xsd:group ref="attachmentContent"/>
        <xsd:attribute ref="name" use="required"/>
    </xsd:complexType>

    <xsd:group name="attachmentContent">
        <xsd:sequence>
            <xsd:element name="mimetype">
                <xsd:complexType>
                    <xsd:attributeGroup ref="mimeTypeAttributes"/>
                </xsd:complexType>
            </xsd:element>
            <xsd:element name="content" type="xsd:string" minOccurs="0"/>
        </xsd:sequence>
    </xsd:group>


    <xsd:simpleType name="mimeTopLevelType">
        <xsd:restriction base="xsd:string">
            <xsd:enumeration value="text"/>
            <xsd:enumeration value="multipart"/>
            <xsd:enumeration value="application"/>
            <xsd:enumeration value="message"/>
            <xsd:enumeration value="image"/>
            <xsd:enumeration value="audio"/>
            <xsd:enumeration value="video"/>
        </xsd:restriction>
    </xsd:simpleType>

</xsd:schema>
