<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You 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.
-->

<xs:schema
    xmlns:geronimo="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
    targetNamespace="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
    xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"
    xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
    attributeFormDefault="unqualified" version="1.0">

    <xs:annotation>
        <xs:documentation>
            This is an XML Schema Definition for Geronimo enterprise application
            deployment plan. In case the enterprise application deployment plan
            is provided internally in the enterprise archive, it should be
            located under META-INF/geronimo-application.xml. In case the
            enterprise application deployment plan is provided externally, the
            deployment descriptor can be named anything and provided as an
            argument to the deploy tool. All the enterprise application
            deployment plan must specify the top level element as application
            with namespace specified as xmlns =
            "http://geronimo.apache.org/xml/ns/j2ee/application-2.0". The
            default location for this document is
            http://geronimo.apache.org/xml/ns/j2ee/application-2.0
        </xs:documentation>
    </xs:annotation>

    <xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.2"
        schemaLocation="geronimo-module-1.2.xsd">
        <xs:annotation>
            <xs:documentation>
                Import Geronimo Services deployment plans. The imported plan
                includes complex types like moduleType, environmentType,
                dependenciesType, etc. required by this plan schema.
            </xs:documentation>
        </xs:annotation>
    </xs:import>

    <xs:element name="application" type="geronimo:applicationType">
        <xs:annotation>
            <xs:documentation>
                The root element for Geronimo web application deployment plan.
                This element should always exist in instance documents. Note
                that the sub-elements of this element should be as in the given
                order in the sequence.
            </xs:documentation>
        </xs:annotation>
    </xs:element>
    <xs:complexType name="applicationType">
        <xs:annotation>
            <xs:documentation>
                The complex type for root element, it defines the elements of
                root element for Geronimo enterprise application deployment
                plan. Basically it is a sequence of elements environment,
                module, ext-module, security, and services.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:element ref="sys:environment">
                <xs:annotation>
                    <xs:documentation>
                        Reference to environment element defined in imported
                        "geronimo-module-1.2.xsd"
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="module" type="geronimo:moduleType" minOccurs="0"
                maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>
                        An optional module element which defines various
                        modules included in the enterprise application archive.
                        It mirrors the moduleType defined by application_1_4.xsd
                        and adds an optional alt-dd element defining a Geronimo
                        specific deployment descriptor.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element name="ext-module" type="geronimo:ext-moduleType"
                minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>
                        It is used to define modules included in this
                        application externally and these module could be
                        included in the archive, or they may reside in Geronimo
                        repository. It defines optional internal-path or
                        external-path to module/repository element being
                        referenced.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>

            <xs:element ref="geronimo:security" minOccurs="0">
                <xs:annotation>
                    <xs:documentation>
                        Reference to security element defined in this schema. If
                        this optional element is present, all web and EJB
                        modules must make the appropriate access checks as
                        outlined in the JACC spec. This element groups the
                        security role mapping settings for the application.
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
            <xs:element ref="sys:service" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                    <xs:documentation>
                        Reference to service element defined in imported
                        "geronimo-module-1.2.xsd".
                    </xs:documentation>
                </xs:annotation>
            </xs:element>
        </xs:sequence>

        <!--TODO application name should be settable using name-key in the environment.  Does this work? -->
        <xs:attribute name="application-name" type="xs:string" use="optional">
            <xs:annotation>
                <xs:documentation>
                    An optional attribute used to define the application name
                    for main parent enterprise application defined in ear
                    module.
                </xs:documentation>
            </xs:annotation>
        </xs:attribute>
    </xs:complexType>

    <xs:complexType name="moduleType">
        <xs:annotation>
            <xs:documentation>
                Mirrors the moduleType defined by application_1_4.xsd and adds
                an optional alt-dd element defining a Geronimo specific
                deployment descriptor for J2EE connector, ejb, web, or java
                client modules.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:element name="connector" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            The presence of this element is indicative of J2EE
                            module type to be resource adapter module, and the
                            value of this element provides URI of resource
                            adapter archive file path relative to the enterprise
                            application package main directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ejb" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            The presence of this element is indicative of J2EE
                            module type to be EJB module, and the value of this
                            element provides URI of EJB archive file path
                            relative to the enterprise application package main
                            directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="java" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            The presence of this element is indicative of J2EE
                            module type to be Java Application client module,
                            and the value of this element provides URI of
                            application client java archive file path relative
                            to the enterprise application package main
                            directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="web" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            The presence of this element is indicative of Web
                            module type to be EJB module, and the value of this
                            element provides URI of Web archive file path
                            relative to the enterprise application package main
                            directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:choice>
            <xs:choice>
                <xs:element name="alt-dd" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            Specifies an optional URI to the post-assembly
                            version of the Geronimo specific deployment
                            descriptor file for a particular J2EE module
                            relative to the enterprise application package main
                            directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:any namespace="##other" processContents="lax">
                    <xs:annotation>
                        <xs:documentation>
                            This option element contains the alternate geronimo
                            deployment plan for included modules.
                        </xs:documentation>
                    </xs:annotation>
                </xs:any>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:element name="security" type="geronimo:abstract-securityType">
        <xs:annotation>
            <xs:documentation>
                If this optional element is present, all web and EJB modules
                must make the appropriate access checks as outlined in the JACC
                spec. This element groups the security role mapping settings for
                the application.
            </xs:documentation>
        </xs:annotation>
    </xs:element>

    <xs:complexType name="abstract-securityType" abstract="true">
        <xs:annotation>
            <xs:documentation>
                An abstract abstract-securityType used to indicate, all web and
                EJB modules must make the appropriate access checks as outlined
                in the JACC spec. This type will be extended and implemented by
                geronimo-security-2.0.xsd file.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence></xs:sequence>
    </xs:complexType>

    <xs:element name="clustering" type="geronimo:abstract-clusteringType">
        <xs:annotation>
            <xs:documentation>
                An abstract clustering used to provide clustering informtation
                for this application.
            </xs:documentation>
        </xs:annotation>
    </xs:element>

    <xs:complexType name="abstract-clusteringType" abstract="true">
        <xs:sequence></xs:sequence>
    </xs:complexType>

    <xs:complexType name="ext-moduleType">
        <xs:annotation>
            <xs:documentation>
                It is used to define modules included in this application
                externally and is not a part of the archive. It defines optional
                internal-path or external-path to module/repository element
                being referenced.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:element name="connector" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            The presence of this element is indicative of J2EE
                            module type to be resource adapter module, and the
                            value of this element provides URI of resource
                            adapter archive file path relative to the enterprise
                            application package main directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ejb" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            The presence of this element is indicative of J2EE
                            module type to be EJB module, and the value of this
                            element provides URI of EJB archive file path
                            relative to the enterprise application package main
                            directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="java" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            The presence of this element is indicative of J2EE
                            module type to be Java Application client module,
                            and the value of this element provides URI of
                            application client java archive file path relative
                            to the enterprise application package main
                            directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="web" type="geronimo:pathType">
                    <xs:annotation>
                        <xs:documentation>
                            The presence of this element is indicative of Web
                            module type to be EJB module, and the value of this
                            element provides URI of Web archive file path
                            relative to the enterprise application package main
                            directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:choice>
            <xs:choice>
                <xs:element name="internal-path" type="xs:token">
                    <xs:annotation>
                        <xs:documentation>
                            The element indicates that the module is a part of
                            this enterprise application. The value of this
                            element specifies the path of module relative to
                            internal path indicates that the module is packaged
                            in the EAR, and a path specified here is relative to
                            the enterprise application package main directory.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="external-path" type="sys:patternType">
                    <xs:annotation>
                        <xs:documentation>
                            The element indicates that the module is not a part
                            of this enterprise application, but rather located
                            matching the supplied pattern in a Geronimo repository.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
            </xs:choice>

            <!--TODO consider an alt-spec-dd element-->
            <!--Do not allow vendor plan inside ear.  If it is in the ear, this does not need to be an external module -->
            <xs:any namespace="##other" processContents="lax">
                <xs:annotation>
                    <xs:documentation>
                        This option element contains the geronimo deployment
                        plan for included modules. The geronimo deployment plan
                        for included modules can be packaged with module.
                    </xs:documentation>
                </xs:annotation>
            </xs:any>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="pathType">
        <xs:annotation>
            <xs:documentation>Mirrors j2ee:pathType.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:restriction base="geronimo:string" />
        </xs:simpleContent>
    </xs:complexType>

    <xs:complexType name="string">
        <xs:annotation>
            <xs:documentation>Mirrors j2ee:string.</xs:documentation>
        </xs:annotation>
        <xs:simpleContent>
            <xs:extension base="xs:token">
                <xs:attribute name="id" type="xs:ID" />
            </xs:extension>
        </xs:simpleContent>
    </xs:complexType>

</xs:schema>
