geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From shiv...@apache.org
Subject svn commit: r673951 [3/5] - in /geronimo/devtools/eclipse-plugin/trunk: assembly/ assembly/src/main/assembly/ features/org.apache.geronimo.feature/ plugins/ plugins/org.apache.geronimo.st.schemas/ plugins/org.apache.geronimo.st.schemas/META-INF/ plugin...
Date Fri, 04 Jul 2008 08:10:58 GMT
Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-module-1.2.xsd
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-module-1.2.xsd?rev=673951&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-module-1.2.xsd (added)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-module-1.2.xsd Fri Jul  4 01:10:56 2008
@@ -0,0 +1,702 @@
+<?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 targetNamespace="http://geronimo.apache.org/xml/ns/deployment-1.2"
+    xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+    attributeFormDefault="unqualified">
+
+    <xs:annotation>
+        <xs:documentation>
+            This is an XML Schema Definition for Geronimo service deployment
+            plan. This deployment plan is used for deploying service modules
+            which contains non-application GBeans like thread pool, the
+            tomcat/jetty container, security manager, etc. In case the Service
+            deployment plan is provided internally in the java archive, it
+            should be named META-INF/geronimo-service.xml. In case the Service
+            deployment plan is provided externally, the deployment descriptor
+            can be named anything and provided to the deploy tool. All the
+            Service deployment plan must specify the top level element as module
+            with namespace specified as 
+            xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2". The default
+            location for this document is
+            http://geronimo.apache.org/xml/ns/deployment-1.2
+
+            Typical Geronimo Service Deployment plan will look like this:
+            <![CDATA[
+            <?xml version="1.0" encoding="UTF-8"?>
+            <module
+                xmlns="http://geronimo.apache.org/xml/ns/deployment-1.2">
+                <environment>
+                    ...
+                </environment>
+                <gbean>
+                    ...
+                </gbean>
+            </module>
+            ]]>
+        </xs:documentation>
+    </xs:annotation>
+
+    <xs:element name="module" type="sys:moduleType">
+        <xs:annotation>
+            <xs:documentation>
+                The module element is the root element of the deployment plan
+                for the Geronimo Service module. Note that the sub-elements of
+                this element should be as in the given order in a sequence. It
+                includes two basic sections, environment section to provide
+                information like moduleName, dependencies, etc. and gbean
+                section to provide information about individual beans contained
+                in this module.
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+    <xs:complexType name="moduleType">
+        <xs:sequence>
+            <xs:element ref="sys:environment">
+                <xs:annotation>
+                    <xs:documentation>
+                        Reference to environment element defined later in this
+                        xsd.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element ref="sys:service" minOccurs="0" maxOccurs="unbounded">
+                <xs:annotation>
+                    <xs:documentation>
+                        Reference to service element defined later in this xsd.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:element name="environment" type="sys:environmentType">
+        <xs:annotation>
+            <xs:documentation>
+                The environment element defines elements to store information
+                like moduleId, dependencies, and classloader Info for the
+                module. This element is used in all the Services and application
+                modules deployment plans.
+            </xs:documentation>
+        </xs:annotation>
+
+        <!-- TODO figure out why this doesn't work
+            <xs:key name="name-key-key">
+            <xs:annotation>
+            <xs:documentation>
+            name-key-key assures that key-values for the names of services in this module will
+            have unique key names.
+            </xs:documentation>
+            </xs:annotation>
+            <xs:selector xpath="sys:name-key"/>
+            <xs:field xpath="sys:name-key/key"/>
+            </xs:key>
+        -->
+
+    </xs:element>
+    <xs:element name="client-environment" type="sys:environmentType">
+        <xs:annotation>
+            <xs:documentation>
+                The client-environment element is used only by Application
+                Client modules to provide client module environment setting. It
+                defines elements to store information like moduleId,
+                dependencies, and classloader Info for the client-side
+                application module. This information is used to identify the
+                module in the client container only and it should not be
+                directly used by deployment process.
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+    <xs:element name="server-environment" type="sys:environmentType">
+        <xs:annotation>
+            <xs:documentation>
+                The server-environment element is used only by Application
+                Client modules to define server side module environment
+                settings. It defines elements to store information like
+                moduleId, dependencies, and classloader Info for the server-side
+                of client application module. This information is used to
+                identify the module in the server environment only.
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+    <xs:complexType name="environmentType">
+        <xs:sequence>
+            <xs:element name="moduleId" type="sys:artifactType" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        "moduleId" holds elements for the groupId, artifactId,
+                        and version of the module version can be ommitted in
+                        which case a timestamp is used. Module IDs are normally
+                        printed with slashes between the four components, such
+                        as GroupID/ArtifactID/Version/Type.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="dependencies" type="sys:dependenciesType"
+                minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        "dependencies" holds all classloader and dependency
+                        information for the module
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="hidden-classes" type="sys:classFilterType"
+                minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        A list of classes which will never be loaded from parent
+                        ClassLoaders of this module. For example, if Log4J was
+                        listed here, the module would never see Geronimo's copy
+                        of Log4J. If the module provided it's own Log4J JAR it
+                        would use that, otherwise it would not be able to load
+                        Log4J at all.
+
+                        The classes are specified in zero or more child "filter"
+                        elements where each filter element specifies a
+                        fully-qualified class name or prefix. Essentially, any
+                        class that starts with one of the prefixes listed here
+                        will be treated as hidden. For example, if you specify
+                        two filter elements containing "java.util" and
+                        "java.lang" then you would really screw up your
+                        application. :)
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="non-overridable-classes"
+                type="sys:classFilterType" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        A list of classes which will only be loaded from parent
+                        ClassLoaders of this module (never from the module's own
+                        ClassLoader). For example, this is used to prevent a web
+                        application from redefining "javax.servlet", so those
+                        classes will *always* be loaded from the server instead
+                        of from the web web application's own ClassPath.
+
+                        The classes are specified in zero or more child "filter"
+                        elements where each filter element specifies a
+                        fully-qualified class name or prefix. Essentially, any
+                        class that starts with one of the prefixes listed here
+                        will be treated as hidden. For example, specifying two
+                        filter elements containing "javax.servlet" and
+                        "javax.ejb" would protect some of the core J2EE classes
+                        from being overridden.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="inverse-classloading" type="sys:emptyType"
+                minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        If the "inverse-classloading" element is specified, the
+                        standard class loading delegation model is to be
+                        reversed for this module.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="suppress-default-environment" type="sys:emptyType"
+                minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        If the "suppress-default-environment" element is
+                        specified then any default environment build by a
+                        builder when deploying the plan will be suppressed.
+
+                        An example of where this is useful is when deploying a
+                        connector on an app client in a separate (standalone)
+                        module (not as part of a client plan).
+
+                        The connector builder defaultEnvironment includes some
+                        server modules that won't work on an app client, so you
+                        need to suppress the default environment and supply a
+                        complete environment including all parents for a
+                        non-app-client module you want to run on an app client
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:element name="dependencies" type="sys:dependenciesType" />
+
+    <xs:complexType name="dependenciesType">
+        <xs:sequence>
+            <xs:element name="dependency" type="sys:dependencyType"
+                minOccurs="0" maxOccurs="unbounded">
+                <xs:annotation>
+                    <xs:documentation>
+                        "dependency" holds an artifact locating an artifact in a
+                        repository. Depending on the type of artifact and value
+                        of the import element, the artifact may be included in
+                        the current classpath, be loaded as a parent, may
+                        require the services in the artifact to be started, or
+                        may not be added to the classpath.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="emptyType" />
+
+    <xs:element name="service" type="sys:abstract-serviceType">
+        <xs:annotation>
+            <xs:documentation>
+                An empty generic element to be extended by gbean and other
+                module types.
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+    <xs:complexType name="abstract-serviceType" abstract="true">
+        <xs:sequence></xs:sequence>
+    </xs:complexType>
+
+    <xs:element name="gbean" type="sys:gbeanType"
+        substitutionGroup="sys:service">
+        <xs:annotation>
+            <xs:documentation>
+                Adds a new custom component to the server. The component will be
+                deployed when this application module is deployed, but it is not
+                in any way protected, so once it is up and running, other
+                modules can refer to it normally.
+            </xs:documentation>
+        </xs:annotation>
+    </xs:element>
+
+    <xs:complexType name="classFilterType">
+        <xs:sequence>
+            <xs:element name="filter" type="xs:string" minOccurs="0"
+                maxOccurs="unbounded">
+                <xs:annotation>
+                    <xs:documentation>
+                        A fully-qualified class name or prefix to be filtered.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="artifactType">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[
+                Refers to either another module running in the server, or
+                an entry in the server's Repository.  In either case this effectively uses a
+                URI.
+
+                When this is pointing to a repository entry, the URI must have a form
+                acceptable to the repository, which is currently a URI consisting of
+                Maven-style identifiers separated by slashes (groupId/artifactId/version/type,
+                for example, the URI "postgresql/postgresql-8.0-jdbc/313/jar" for a file like
+                "repository/postgresql/postgresql-8.0-jdbc-313.jar").
+
+                When this is pointing to a module, the URI should match the
+                module's moduleId.  This also looks
+                like a Maven-style URI discussed above.
+
+                The artifactType element can take either a straight URI (as in the examples
+                above), or maven-style identifier fragments (groupId, type, artifactId, and
+                version), which it will compose into a URI by adding up the fragments with
+                slashes in between.
+
+                There is a correspondence between the xml format and a URI.  For example, the URI
+
+                postgresql/postgresql-8.0-jdbc/313/jar
+
+                corresponds to the xml:
+
+                <groupId>postgresql</groupId>
+                <artifactId>postgresql-8.0-jdbc</artifactId>
+                <version>313</version>
+                <type>jar</type>
+	            ]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <!-- TODO not sure if groupId can in fact be optional -->
+            <xs:element name="groupId" type="xs:string" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        The name for group containing this module. By default,
+                        it is considered 'default' for declaration and wild card
+                        '*' for dependencies.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="artifactId" type="xs:string">
+                <xs:annotation>
+                    <xs:documentation>
+                        The name for module in a specified group. All the
+                        artifactId's should be unique within a group. If no
+                        articfactId is provided it will be defaulted to file
+                        name of the module file.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="version" type="xs:string" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        The version number for the module formatted by dot
+                        separated numbers. If no version is provided it will be
+                        defaulted to numeric timestamp generated by
+                        System.currentTimeMillis() at deploy time. In case of
+                        dependencies latest available version will be used.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+            <xs:element name="type" type="xs:string" minOccurs="0">
+                <xs:annotation>
+                    <xs:documentation>
+                        This element defines the type of the module. The type
+                        could be 'CAR', 'JAR', EAR', 'WAR', etc. If no type is
+                        provided it will be defaulted appropriately by the
+                        deployer depending upon type of deployed module.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="dependencyType">
+        <xs:complexContent>
+            <xs:extension base="sys:artifactType">
+                <xs:annotation>
+                    <xs:documentation>
+                        DependencyType includes all the elements defined in
+                        artifactType.
+                    </xs:documentation>
+                </xs:annotation>
+                <xs:sequence>
+                    <xs:element name="import" type="sys:importType"
+                        minOccurs="0">
+                        <xs:annotation>
+                            <xs:documentation>
+                                The import element is restrictive element to
+                                defined type of dependency. The default (when
+                                omitted) is to include the specified dependency
+                                in the classloader (as a parent or URL). If
+                                defined as "classes" means that the classes must
+                                be included in the current module's classloader
+                                but the dependency does not need to be started.
+                                Specifying "services" means that the dependency
+                                (a module) must be started before the current
+                                module, but it is not included as a parent
+                                classloader.
+                            </xs:documentation>
+                        </xs:annotation>
+                    </xs:element>
+                </xs:sequence>
+
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:simpleType name="importType">
+        <xs:annotation>
+            <xs:documentation>
+                <![CDATA[
+            The import element is restrictive.  The default (when omitted) is to include the specified dependency in
+            the classloader (as a parent or URL) and (if the dependency is a module) make sure it is started
+            before starting the current module.  Specifying "classes" means that the classes must be included
+            in the current module's classloader but the dependency does not need to be started. (I'm not sure this
+            is actually possible, but it is what is meant).  Specifying "services" means that the dependency (a module)
+            must be started before the current module, but it is not included as a parent classloader.
+
+            You probably never need to use the import element.
+                ]]>
+            </xs:documentation>
+        </xs:annotation>
+        <xs:restriction base="xs:string">
+            <xs:enumeration value="classes">
+                <xs:annotation>
+                    <xs:documentation>
+                        The value "classes" means that the classes must be
+                        included in the current module's classloader but the
+                        dependency does not need to be started.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+            <xs:enumeration value="services">
+                <xs:annotation>
+                    <xs:documentation>
+                        The value "services" means that the dependency (a
+                        module) must be started before the current module, but
+                        it is not included as a parent classloader.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:enumeration>
+        </xs:restriction>
+    </xs:simpleType>
+
+    <xs:complexType name="gbeanType">
+        <xs:complexContent>
+            <xs:extension base="sys:abstract-serviceType">
+                <xs:annotation>
+                    <xs:documentation>
+                        gbeanType includes all the elements defined in
+                        abstract-serviceType.
+                    </xs:documentation>
+                </xs:annotation>
+
+                <xs:choice minOccurs="0" maxOccurs="unbounded">
+                    <xs:element name="attribute" type="sys:attributeType">
+                        <xs:annotation>
+                            <xs:documentation>
+                                The attribute provide the name-value pair of
+                                various attributes for this GBean. The value of
+                                the attributes is specified by value of this
+                                element.
+                            </xs:documentation>
+                        </xs:annotation>
+                    </xs:element>
+                    <xs:element name="xml-attribute"
+                        type="sys:xml-attributeType">
+                        <xs:annotation>
+                            <xs:documentation>
+                                The xml-attribute specifies the value of
+                                particular attribute in XML format, which will
+                                be interpreted by a component running in the
+                                system, which convert it to single value for
+                                this attribute.
+                            </xs:documentation>
+                        </xs:annotation>
+                    </xs:element>
+                    <xs:element name="reference" type="sys:referenceType">
+                        <xs:annotation>
+                            <xs:documentation>
+                                The "reference" element specifies the value of a
+                                particular reference for this GBean in simplest
+                                form. It holds the reference to the GBean that
+                                matches the single pattern specified here, if no
+                                value is specified it will refer to all the
+                                matching GBeans.
+                            </xs:documentation>
+                        </xs:annotation>
+                    </xs:element>
+                    <xs:element name="references" type="sys:referencesType">
+                        <xs:annotation>
+                            <xs:documentation>
+                                The "references" element specifies the value of
+                                a particular reference for this GBean matching
+                                multiple pattern elements.
+                            </xs:documentation>
+                        </xs:annotation>
+                    </xs:element>
+                    <xs:element name="xml-reference"
+                        type="sys:xml-attributeType">
+                        <xs:annotation>
+                            <xs:documentation>
+                                The xml-reference specifies the value of
+                                particular reference in XML format, which will
+                                be interpreted by a component running in the
+                                system, which convert it to single value for
+                                this reference.
+                            </xs:documentation>
+                        </xs:annotation>
+                    </xs:element>
+                    <xs:element name="dependency" type="sys:patternType">
+                        <xs:annotation>
+                            <xs:documentation>
+                                The element "dependency" is used to resolve
+                                dependencies at GBean level. This is normally
+                                only used if for some reason the GBeans within a
+                                module must be started in a certain order that
+                                is not reflected in the references between them.
+                            </xs:documentation>
+                        </xs:annotation>
+                    </xs:element>
+                </xs:choice>
+                <xs:attribute name="name" type="xs:string" use="required">
+                    <xs:annotation>
+                        <xs:documentation>
+                            A unique name for this GBean within this module,
+                            this name will be used as a name component in
+                            AbstractName, hence AbstractName will be unique
+                            server wide.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+                <xs:attribute name="class" type="xs:string" use="required">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The fully-qualified name of the class containing the
+                            GBeanInfo for this GBean.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <xs:complexType name="attributeType">
+        <xs:simpleContent>
+            <xs:extension base="xs:string">
+                <xs:attribute name="name" type="xs:string">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The name for the current attribute. This name should
+                            be same as specified in GBeanInfo for this GBean.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+                <xs:attribute name="type" type="xs:string">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The type of the current attribute. Again this should
+                            be same as one provided in GBeanInfo hence optional.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+            </xs:extension>
+        </xs:simpleContent>
+    </xs:complexType>
+
+    <xs:complexType name="xml-attributeType">
+        <xs:sequence>
+            <xs:any namespace="##any" processContents="lax" />
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string">
+            <xs:annotation>
+                <xs:documentation>
+                    The name for the current attribute. This name should be same
+                    as specified in GBeanInfo for this GBean.
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="referencesType">
+        <xs:sequence>
+            <xs:element name="pattern" type="sys:patternType" minOccurs="1"
+                maxOccurs="unbounded">
+                <xs:annotation>
+                    <xs:documentation>
+                        The pattern used for matching the referenced GBean.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:element>
+        </xs:sequence>
+        <xs:attribute name="name" type="xs:string">
+            <xs:annotation>
+                <xs:documentation>
+                    The name for the current reference. This name should be same
+                    as specified in GBeanInfo for this GBean.
+                </xs:documentation>
+            </xs:annotation>
+        </xs:attribute>
+    </xs:complexType>
+
+    <xs:complexType name="patternType">
+        <xs:annotation>
+            <xs:documentation>
+                This group contains the components of an abstract name
+            </xs:documentation>
+        </xs:annotation>
+        <xs:sequence>
+            <xs:sequence>
+                <xs:element name="groupId" type="xs:string" minOccurs="0">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The name for group containing module to match. By
+                            default is it considered wild card '*'.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+                <xs:element name="artifactId" type="xs:string" minOccurs="0">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The name for module in a specified group to be
+                            matched.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+                <xs:element name="version" type="xs:string" minOccurs="0">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The version number for the module formatted by dot
+                            separated numbers. If no version is provided it will
+                            be defaulted latest available version matching other
+                            criterions.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+                <xs:element name="module" type="xs:string" minOccurs="0">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The value specified here should match the file name
+                            of the module referenced.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+                <xs:element name="type" type="xs:string" minOccurs="0">
+                    <xs:annotation>
+                        <xs:documentation>
+                            This element defines the type of the module to be
+                            matched. The type could be 'CAR', 'JAR', EAR',
+                            'WAR', etc. If no type is provided it will be
+                            defaulted wild card char '*'.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+                <xs:element name="name" type="xs:string" minOccurs="0">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The name element to identify the referenced GBean by
+                            name.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:element>
+            </xs:sequence>
+        </xs:sequence>
+    </xs:complexType>
+
+    <xs:complexType name="referenceType">
+        <xs:complexContent>
+            <xs:extension base="sys:patternType">
+                <xs:annotation>
+                    <xs:documentation>
+                        referenceType includes all the elements defined in
+                        patternType.
+                    </xs:documentation>
+                </xs:annotation>
+                <xs:attribute name="name" type="xs:string">
+                    <xs:annotation>
+                        <xs:documentation>
+                            The name for the current reference. This name should
+                            be same as specified in GBeanInfo for this GBean.
+                        </xs:documentation>
+                    </xs:annotation>
+                </xs:attribute>
+            </xs:extension>
+        </xs:complexContent>
+    </xs:complexType>
+
+    <!--<xs:element name="service" type="sys:serviceType"/>-->
+    <!--<xs:complexType name="serviceType">-->
+    <!--<xs:sequence>-->
+    <!--<xs:element name="dependency" type="sys:artifactType" minOccurs="0" maxOccurs="unbounded"/>-->
+    <!--</xs:sequence>-->
+    <!--</xs:complexType>-->
+
+</xs:schema>

Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-module-1.2.xsd
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-module-1.2.xsd
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-module-1.2.xsd
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-naming-1.2.xsd
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-naming-1.2.xsd?rev=673951&view=auto
==============================================================================
--- geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-naming-1.2.xsd (added)
+++ geronimo/devtools/eclipse-plugin/trunk/plugins/org.apache.geronimo.st.schemas/v22/geronimo-naming-1.2.xsd Fri Jul  4 01:10:56 2008
@@ -0,0 +1,1071 @@
+<?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.
+-->
+
+<xsd:schema targetNamespace="http://geronimo.apache.org/xml/ns/naming-1.2"
+    xmlns:gernaming="http://geronimo.apache.org/xml/ns/naming-1.2"
+    xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"
+    xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
+    attributeFormDefault="unqualified" version="1.0">
+
+    <xsd:annotation>
+        <xsd:documentation>
+            This is a partial XML Schema Definition for common naming elements
+            for resolving EJB, Web, services, or resource references. This
+            schema will never be used directly but its elements are used in
+            geronimo-application-client-2.0.xsd, geronimo-connector-1.2.xsd,
+            geronimo-web-2.0.1.xsd, geronimo-tomcat-2.0.1.xsd, and
+            geronimo-jetty-2.0.2.xsd. All the schema's or plans using elements of
+            this schema must specify the top level element with one of the
+            namespace specified as
+            "http://geronimo.apache.org/xml/ns/naming-1.2". The default
+            location for this document is
+            http://geronimo.apache.org/xml/ns/naming-1.2
+        </xsd:documentation>
+    </xsd:annotation>
+
+    <xsd:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.2"
+        schemaLocation="geronimo-module-1.2.xsd">
+        <xsd:annotation>
+            <xsd:documentation>
+                Import Geronimo Services deployment plans, the imported plan
+                includes complex types like moduleType, environmentType,
+                dependenciesType, etc. required by this plan schema.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:import>
+
+    <xsd:element name="ejb-ref" type="gernaming:ejb-refType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element ejb-ref is used to map EJB references to EJB's in
+                other applications using remote home and remote interface. The
+                application which contains the EJB being referenced should
+                either be in same EAR or should be included in dependency list
+                of this application. Also note as the EJB's referenced are in a
+                different JVM all the Client interfaces should also be included
+                in current application.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+    <xsd:element name="ejb-local-ref" type="gernaming:ejb-local-refType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element ejb-local-ref is used to map EJB references to EJB's
+                in other applications using local home and local interface. The
+                application which contains the EJB being referenced should
+                either be in same EAR or should be included in dependency list
+                of this application. Also note as the EJB's referenced are in a
+                different JVM all the Client interfaces should also be included
+                in current application.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+    <xsd:element name="service-ref" type="gernaming:service-refType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element service-ref is used to map service references to
+                service's in other applications. The application which contains
+                the EJB being referenced should either be in same EAR or should
+                be included in dependency list of this application.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+    <xsd:element name="resource-ref" type="gernaming:resource-refType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element resource-ref is used to map resource references to
+                resources's like JDBC resources, JMS resources, etc. configured
+                outside the current application.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+    <xsd:element name="resource-env-ref"
+        type="gernaming:resource-env-refType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element resource-env-ref is used to map resource references
+                to administrative objects deployed as a part of connectors.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:element name="message-destination"
+        type="gernaming:message-destinationType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element message-destination is used to configure a JMS queue
+                or topic which act like a destination for the messages
+                delivered.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:group name="jndiEnvironmentRefsGroup">
+        <xsd:annotation>
+            <xsd:documentation>
+                This group keeps the usage of the contained JNDI environment
+                reference elements consistent across J2EE deployment
+                descriptors.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element ref="gernaming:abstract-naming-entry" minOccurs="0"
+                maxOccurs="unbounded" />
+            <xsd:element name="ejb-ref" type="gernaming:ejb-refType"
+                minOccurs="0" maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element ejb-ref is used to map EJB references to
+                        EJB's in other applications using remote home and remote
+                        interface. The application which contains the EJB being
+                        referenced should either be in same EAR or should be
+                        included in dependency list of this application. Also
+                        note as the EJB's referenced are in a different JVM all
+                        the Client interfaces should also be included in current
+                        application.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="ejb-local-ref" type="gernaming:ejb-local-refType"
+                minOccurs="0" maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element ejb-local-ref is used to map EJB references
+                        to EJB's in other applications using local home and
+                        local interface. The application which contains the EJB
+                        being referenced should either be in same EAR or should
+                        be included in dependency list of this application. Also
+                        note as the EJB's referenced are in a different JVM all
+                        the Client interfaces should also be included in current
+                        application.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="service-ref" type="gernaming:service-refType"
+                minOccurs="0" maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element service-ref is used to map service
+                        references to service's in other applications. The
+                        application which contains the EJB being referenced
+                        should either be in same EAR or should be included in
+                        dependency list of this application.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="resource-ref" type="gernaming:resource-refType"
+                minOccurs="0" maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element resource-ref is used to map resource
+                        references to resources's like JDBC resources, JMS
+                        resources, etc. configured outside the current
+                        application.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="resource-env-ref"
+                type="gernaming:resource-env-refType" minOccurs="0"
+                maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element resource-env-ref is used to map resource
+                        references to administrative objects deployed as a part
+                        of connectors.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+    </xsd:group>
+
+    <xsd:element name="abstract-naming-entry" abstract="true"
+        type="gernaming:abstract-naming-entryType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element abstract-naming-entry is an abstract element used as
+                a generic element for all the references.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:complexType name="abstract-naming-entryType" abstract="true">
+        <xsd:sequence></xsd:sequence>
+    </xsd:complexType>
+
+    <!--ejb-link acts like ejb-link in spec descriptors-->
+    <!--resource-link contains the name of the outbound-connectionfactory-instance -->
+    <!--message-destination-link acts like message-destination-link in spec descriptors-->
+    <!--url in resource-ref contains the url for URL typed resource refs-->
+    <!--Possibly the external-uri element should be revived to connect to other naming systems-->
+    <!--when server to server communication exists we will need an element in ejb-ref to specify the geronimo server
+        we wish to talk to.  It might be possible to use the objectName server element for this depending on what we decide it means-->
+    <!--otherwise you can supply the entire object name using the gbean-nameGroup-->
+
+    <xsd:complexType name="ejb-refType">
+        <xsd:sequence>
+            <xsd:element name="ref-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element ref-name is used to identify this remote ejb
+                        reference. This name should be unique in a module and
+                        will be used by application as a part of JNDI name for
+                        the referenced ejb. The JNDI name used will be
+                        "java:/comp/env/ref-name. It should map to the
+                        "ejb-ref-name" provided in deployment descriptor.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="pattern" type="gernaming:patternType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element pattern is used to provide additional
+                            selection criterion for remote ejbs if multiple ejbs
+                            with same ejb-link exists in EAR or dependency
+                            modules. The pattern mapped should result in single
+                            remote EJB.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:group ref="gernaming:corbaNameGroup">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            Reference to corbaNameGroup defined later in this
+                            schema. This group defines the EJB using CORBA as
+                            communication protocol.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:group>
+                <xsd:element name="ejb-link" type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element ejb-link is used to identify the remote
+                            ejb specified in same EAR or dependency modules.
+                            This name should match the ejb-name defined in EJB
+                            deployment descriptor. If the name is not unique the
+                            pattern element will be used to uniquely identify
+                            this remote ejb.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="ejb-local-refType">
+        <xsd:sequence>
+            <xsd:element name="ref-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element ref-name is used to identify this local ejb
+                        reference. This name should be unique in a module and
+                        will be used by application to as a part of JNDI name
+                        for the referenced ejb. The JNDI name used will be
+                        "java:/comp/env/ref-name. It should map to the
+                        "ejb-ref-name" provided in deployment descriptor.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="pattern" type="gernaming:patternType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element pattern is used to provide additional
+                            selection criterion for local ejb's if multiple
+                            local ejb's with same ejb-link exists in EAR or
+                            dependency modules. The pattern mapped should result
+                            in single local EJB.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="ejb-link" type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element ejb-link is used to identify the local
+                            ejb specified in same EAR or dependency modules.
+                            This name should match the ejb-name defined in EJB
+                            deployment descriptor. If the name is not unique the
+                            pattern element will be used to uniquely identify
+                            this local ejb.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="resource-refType">
+        <xsd:sequence>
+            <xsd:element name="ref-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element ref-name is used to identify this resource
+                        reference. This name should be unique in a module and
+                        will be used by application to as a part of JNDI name
+                        for the referenced resource. The JNDI name used will be
+                        "java:/comp/env/ref-name. It should map to the
+                        "resource-ref-name" provided in deployment descriptor.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="pattern" type="gernaming:patternType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element pattern is used to provide additional
+                            selection criterion for resources if multiple
+                            resources with same resource-link or URI exists
+                            dependency modules. The pattern mapped should result
+                            in single resource.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="resource-link" type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element resource-link is used to identify the
+                            JDBC, JMS, or JavaMail resource specified in all the
+                            dependency modules. This name should match the
+                            connectiondefination-instance/name defined in
+                            resource adapter deployment descriptor. If the name
+                            is not unique the pattern element will be used to
+                            uniquely identify this resource.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="url" type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element url is used to identify the resources of
+                            type java.net.URL deployed in all the dependency
+                            modules. If the url doesn't map to unique resource
+                            the pattern element will be used to uniquely
+                            identify this resource.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:element name="gbean-ref" type="gernaming:gbean-refType"
+        substitutionGroup="gernaming:abstract-naming-entry">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element gbean-ref is used to map gbean references to gbeans
+                configured outside the current module.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:complexType name="gbean-refType">
+        <xsd:complexContent>
+            <xsd:extension base="gernaming:abstract-naming-entryType">
+                <xsd:sequence>
+                    <xsd:element name="ref-name" type="xsd:string">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element ref-name is used to identify this
+                                gbean reference. This name should be unique in a
+                                module and will be used by application to as a
+                                part of JNDI name for the referenced gbean. The
+                                JNDI name used will be "java:/comp/env/ref-name.
+                                It should map to the "ref-name" provided in
+                                deployment descriptor.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                    <xsd:element name="ref-type" type="xsd:string" minOccurs="0"
+                        maxOccurs="unbounded">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element ref-type is used to specify the
+                                interface implemented by GBean being referenced.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                    <xsd:choice minOccurs="0" maxOccurs="unbounded">
+                        <xsd:element name="pattern"
+                            type="gernaming:patternType">
+                            <xsd:annotation>
+                                <xsd:documentation>
+                                    The element pattern is used to provide
+                                    additional selection criterion for gbeans if
+                                    multiple gbeans with same name exists in
+                                    dependency modules. The pattern mapped
+                                    should result in single gbean.
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                    </xsd:choice>
+                </xsd:sequence>
+            </xsd:extension>
+        </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:element name="persistence-unit-ref"
+        type="gernaming:persistence-unit-refType"
+        substitutionGroup="gernaming:abstract-naming-entry">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element persistence-unit-ref is used to map persistence unit
+                references to persistence units configured outside the current
+                module.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:complexType name="persistence-unit-refType">
+        <xsd:complexContent>
+            <xsd:extension base="gernaming:abstract-naming-entryType">
+                <xsd:sequence>
+                    <xsd:element name="persistence-unit-ref-name"
+                        type="xsd:string">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element persistence-unit-ref-name is used to
+                                identify this persistence unit reference. This
+                                name should be unique in a module and will be
+                                used by application as a part of JNDI name for
+                                the referenced persistence unit. The JNDI name
+                                used will be "java:/comp/env/ref-name. It should
+                                map to the "ref-name" provided in deployment
+                                descriptor.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                    <xsd:choice>
+                        <xsd:element name="persistence-unit-name"
+                            type="xsd:string">
+                            <xsd:annotation>
+                                <xsd:documentation>
+                                    The element persistence-unit-name is used to
+                                    identify persistence unit specified in any
+                                    of the dependency modules. This name should
+                                    match the persistence-unit-name defined in
+                                    deployment descriptor. If the name is not
+                                    unique the pattern element will be used to
+                                    uniquely identify this persistence unit.
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                        <xsd:element name="pattern"
+                            type="gernaming:patternType">
+                            <xsd:annotation>
+                                <xsd:documentation>
+                                    The element pattern is used to provide
+                                    additional selection criterion for
+                                    persistence units if multiple persistence
+                                    units with same persistence-unit-name exists
+                                    in dependency modules. The pattern mapped
+                                    should result in single persistence unit.
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                    </xsd:choice>
+                </xsd:sequence>
+            </xsd:extension>
+        </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:element name="persistence-context-ref"
+        type="gernaming:persistence-context-refType"
+        substitutionGroup="gernaming:abstract-naming-entry">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element entity-manager-factory-ref is used to map
+                persistence context references to persistence contexts
+                configured outside the current module.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:complexType name="persistence-context-refType">
+        <xsd:complexContent>
+            <xsd:extension base="gernaming:abstract-naming-entryType">
+                <xsd:sequence>
+                    <xsd:element name="persistence-context-ref-name"
+                        type="xsd:string">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element ref-name is used to identify this
+                                persistence context reference. This name should
+                                be unique in a module and will be used by
+                                application as a part of JNDI name for the
+                                referenced persistence context. The JNDI name
+                                used will be "java:/comp/env/ref-name. It should
+                                map to the "ref-name" provided in deployment
+                                descriptor.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                    <xsd:choice>
+                        <xsd:element name="persistence-unit-name"
+                            type="xsd:string">
+                            <xsd:annotation>
+                                <xsd:documentation>
+                                    The element persistence-unit-name is used to
+                                    identify persistence context specified in
+                                    any of the dependency modules. This name
+                                    should match the persistence-unit-name
+                                    defined in deployment descriptor. If the
+                                    name is not unique the pattern element will
+                                    be used to uniquely identify this
+                                    persistence unit.
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                        <xsd:element name="pattern"
+                            type="gernaming:patternType">
+                            <xsd:annotation>
+                                <xsd:documentation>
+                                    The element pattern is used to provide
+                                    additional selection criterion for
+                                    persistence context's if multiple
+                                    persistence context's with same
+                                    persistence-unit-name exists in dependency
+                                    modules. The pattern mapped should result in
+                                    single persistence context.
+                                </xsd:documentation>
+                            </xsd:annotation>
+                        </xsd:element>
+                    </xsd:choice>
+                    <xsd:element name="persistence-context-type"
+                        type="gernaming:persistence-context-typeType"
+                        minOccurs="0">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element persistence-context-type is used to
+                                provide transaction features if persistence
+                                context reference. It can have value of
+                                transaction-scoped or extended.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                    <xsd:element name="property" type="gernaming:propertyType"
+                        minOccurs="0" maxOccurs="unbounded">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element property is used to provide vendor
+                                specific properties for persistence context
+                                reference.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                </xsd:sequence>
+            </xsd:extension>
+        </xsd:complexContent>
+    </xsd:complexType>
+
+    <xsd:simpleType name="persistence-context-typeType">
+        <xsd:restriction base="xsd:string">
+            <xsd:enumeration value="Transactional" />
+            <xsd:enumeration value="Extended" />
+        </xsd:restriction>
+    </xsd:simpleType>
+
+    <xsd:complexType name="propertyType">
+        <xsd:sequence>
+            <xsd:element name="key" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element key provides the key identifying this
+                        property.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="value" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element value provides the value for this property.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <!-- used by openejb cmp datasource specification -->
+    <xsd:element name="cmp-connection-factory"
+        type="gernaming:resource-locatorType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element cmp-connection-factory defines the connection pool
+                which will be used by CMP entity beans to connect to datasource.
+                This element will be used by openejb specifications.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <!-- used by openejb mdb resource adapter specification -->
+    <xsd:element name="resource-adapter"
+        type="gernaming:resource-locatorType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element resource-adapter defines the JMS destination which
+                will be used by MDB to connect to destination. This element will
+                be used by openejb specifications.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:complexType name="resource-locatorType">
+        <xsd:sequence>
+            <xsd:choice>
+                <xsd:element name="pattern" type="gernaming:patternType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element pattern is used to provide additional
+                            selection criterion for resources if multiple
+                            resources with same resource-name exists in
+                            dependency modules. The pattern mapped should result
+                            in single resource.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="resource-link" type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element resource-link is used to identify the
+                            JDBC, JMS, or JavaMail resource specified in all the
+                            dependency modules. This name should match the
+                            connectiondefination-instance/name defined in
+                            resource adapter deployment descriptor. If the name
+                            is not unique the pattern element will be used to
+                            uniquely identify this resource.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="url" type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element url is used to identify the resources of
+                            type java.net.URL deployed in all the dependency
+                            modules. If the url doesn't map to unique resource
+                            the pattern element will be used to uniquely
+                            identify this resource.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="resource-env-refType">
+        <xsd:sequence>
+            <xsd:element name="ref-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element ref-name is used to identify this resource
+                        reference. This name should be unique in a module and
+                        will be used by application as a part of JNDI name for
+                        the referenced resource. The JNDI name used will be
+                        "java:/comp/env/ref-name. It should map to the
+                        "res-ref-name" provided in deployment descriptor.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="pattern" type="gernaming:patternType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element pattern is used to provide additional
+                            selection criterion for admin object's if multiple
+                            admin object's with same admin-object-link exists in
+                            dependency modules. The pattern mapped should result
+                            in single admin object.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="message-destination-link"
+                    type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            This element is deprecated and should not be used.
+                            Use admin-object-link instead. That is effectively a
+                            renamed version of this.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:sequence>
+                    <xsd:element name="admin-object-module" type="xsd:string"
+                        minOccurs="0" />
+                    <xsd:element name="admin-object-link" type="xsd:string">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element admin-object-link is used to
+                                identify the admin object resource specified in
+                                any of the dependency modules. This name should
+                                match the message-definition-name defined in
+                                admin object section of deployment descriptor.
+                                If the name is not unique the pattern element
+                                will be used to uniquely identify this admin
+                                object resource.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                </xsd:sequence>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="message-destinationType">
+        <xsd:sequence>
+            <xsd:element name="message-destination-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element message-destination-name is used to identify
+                        this message destination reference. This name should be
+                        unique in a module and will be used by application to as
+                        a part of JNDI name for the message destination. The
+                        JNDI name used will be "java:/comp/env/ref-name. It
+                        should map to the "message-destination-name" provided in
+                        deployment descriptor.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="pattern" type="gernaming:patternType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element pattern is used to provide additional
+                            selection criterion for JMS destination's if
+                            multiple destination's with same admin-object-link
+                            exists in dependency modules. The pattern mapped
+                            should result in single destination.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:sequence>
+                    <xsd:element name="admin-object-module" type="xsd:string"
+                        minOccurs="0" />
+                    <xsd:element name="admin-object-link" type="xsd:string">
+                        <xsd:annotation>
+                            <xsd:documentation>
+                                The element admin-object-link is used to
+                                identify the admin object resource specified in
+                                any of the dependency modules. This name should
+                                match the message-definition-name defined in
+                                admin object section of deployment descriptor.
+                                If the name is not unique the pattern element
+                                will be used to uniquely identify this admin
+                                object resource.
+                            </xsd:documentation>
+                        </xsd:annotation>
+                    </xsd:element>
+                </xsd:sequence>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <!-- used by resource adapter -->
+    <xsd:element name="workmanager" type="gernaming:gbean-locatorType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element workmanager defines the work manager implementation
+                used by resource adapter. This element will be used by resource
+                adapter plan.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <!-- used by web apps/builders -->
+    <xsd:element name="web-container" type="gernaming:gbean-locatorType">
+        <xsd:annotation>
+            <xsd:documentation>
+                The element web-container defines the binding between web
+                application and web container instance. It specifies which
+                container application should be deployed to.
+            </xsd:documentation>
+        </xsd:annotation>
+    </xsd:element>
+
+    <xsd:complexType name="gbean-locatorType">
+        <xsd:sequence>
+            <xsd:choice>
+                <xsd:element name="pattern" type="gernaming:patternType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element pattern is used to provide additional
+                            selection criterion for gbean's if multiple gbean's
+                            with same name exists in dependency modules. The
+                            pattern mapped should result in single gbean.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="gbean-link" type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element gbean-link is used to identify the gbean
+                            deployed in any of the dependency modules. This name
+                            should match the gbean-name defined in deployment
+                            plane. If the name is not unique the pattern element
+                            will be used to uniquely identify this gbean.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="patternType">
+        <xsd:sequence>
+            <xsd:element name="groupId" type="xsd:string" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The name for group containing module to match. By
+                        default is it considered wild card '*'.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="artifactId" type="xsd:string" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The name for module in a specified group to be matched.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="version" type="xsd:string" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The version number for the module formatted by dot
+                        separated numbers. If no version is provided it will be
+                        defaulted latest available version matching other
+                        criterions.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="module" type="xsd:string" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The value specified here should match the file name of
+                        the module referenced.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The name element to identify the referenced GBean by
+                        name.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:group name="serverGroup">
+        <xsd:annotation>
+            <xsd:documentation>
+                This group contains the protocol, address, and port for a server
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="protocol" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The protocol element is used to specify the network
+                        protocol used for connection. This could be http or
+                        https.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="host" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The host element is used to specify the network host to
+                        connect.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="port" type="xsd:int">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The port element is used to specify the network port to
+                        connect.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+    </xsd:group>
+
+    <xsd:complexType name="portType">
+        <xsd:sequence>
+            <xsd:element name="port-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The port-name element provides the name to identify the
+                        port to connect.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:group ref="gernaming:serverGroup" minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        Reference to serverGroup defined later in this schema.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:group>
+            <xsd:element name="uri" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The uri element provides the path to particular resource
+                        once connection is established.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="credentials-name" type="xsd:string"
+                minOccurs="0">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The credentials-name element provides the credentials
+                        name to identify the credentials used for secure
+                        connections.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="service-refType">
+        <xsd:sequence>
+            <xsd:element name="service-ref-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element service-ref-name is used to identify this
+                        service reference. This name should be unique in a
+                        module and will be used by application to as a part of
+                        JNDI name for the web service. The JNDI name used will
+                        be "java:/comp/env/ref-name. It should map to the
+                        "service-ref-name" provided in service-ref of deployment
+                        descriptor.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="service-completion"
+                    type="gernaming:service-completionType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element service-completion is used to provide
+                            missing information for web service. If this element
+                            doesn't exist all the information should be
+                            available in WSDL.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="port" type="gernaming:portType"
+                    maxOccurs="unbounded">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element port defines the ports available though
+                            service reference. If this element doesn't exist the
+                            port information should be available in WSDL.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="service-completionType">
+        <xsd:sequence>
+            <xsd:element name="service-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element service-name provides the name of the
+                        service missing in service block of WSDL.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="port-completion"
+                type="gernaming:port-completionType" maxOccurs="unbounded">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element port-completion provides the port
+                        information missing in WSDL.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:complexType name="port-completionType">
+        <xsd:sequence>
+            <xsd:element name="port" type="gernaming:portType">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element port provides the port used for web services
+                        connection.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="binding-name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The element binding-name is used to provide the name for
+                        binding for a port and URL.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+        </xsd:sequence>
+    </xsd:complexType>
+
+    <xsd:group name="corbaNameGroup">
+        <xsd:annotation>
+            <xsd:documentation>
+                This group contains the location of the CORBA name server, the
+                name, and the client security server used to make interop calls.
+            </xsd:documentation>
+        </xsd:annotation>
+        <xsd:sequence>
+            <xsd:element name="ns-corbaloc" type="xsd:anyURI">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The corbaloc used to access the CORBA name server.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:element name="name" type="xsd:string">
+                <xsd:annotation>
+                    <xsd:documentation>
+                        The name of the object in the name server.
+                    </xsd:documentation>
+                </xsd:annotation>
+            </xsd:element>
+            <xsd:choice>
+                <xsd:element name="css" type="gernaming:patternType">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The element css provides the gbean name to identify
+                            the client security service used.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+                <xsd:element name="css-link" type="xsd:string">
+                    <xsd:annotation>
+                        <xsd:documentation>
+                            The css-link identify the client security service by
+                            its name.
+                        </xsd:documentation>
+                    </xsd:annotation>
+                </xsd:element>
+            </xsd:choice>
+        </xsd:sequence>
+    </xsd:group>
+
+</xsd:schema>



Mime
View raw message