Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Geronimo Application XML Schema Document

Code Block
xml
xml
borderStylesolid
titlegeronimo-application-1.1.xsdxml
<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright 2004 The Apache Software Foundation

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<xs:schema
    xmlns:geronimo="http://geronimo.apache.org/xml/ns/j2ee/application-1.1"
    targetNamespace="http://geronimo.apache.org/xml/ns/j2ee/application-1.1"

    xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
    xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.0">

    <xs:import namespace="http://geronimo.apache.org/xml/ns/security-1.1" schemaLocation="geronimo-security-1.1.xsd"/>
    <xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.1" schemaLocation="geronimo-module-1.1.xsd"/>

    <xs:element name="application" type="geronimo:applicationType"/>

    <xs:complexType name="applicationType">
        <xs:sequence>
            <xs:element ref="sys:environment"/>

            <xs:element name="module" type="geronimo:moduleType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="ext-module" type="geronimo:ext-moduleType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="security:security" minOccurs="0"/>
            <xs:element ref="sys:gbean" minOccurs="0" maxOccurs="unbounded"/>
        </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: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.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:element name="connector" type="geronimo:pathType"/>
                <xs:element name="ejb" type="geronimo:pathType"/>
                <xs:element name="java" type="geronimo:pathType"/>
                <xs:element name="web" type="geronimo:pathType"/>
            </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.
                        </xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:any namespace="##other" processContents="lax"/>
            </xs:choice>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="ext-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.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:annotation>
                    <xs:documentation>
            This is the name for the module, not the path inside the ear.
                    </xs:documentation>
                </xs:annotation>
                <xs:element name="connector" type="geronimo:pathType"/>
                <xs:element name="ejb" type="geronimo:pathType"/>
                <xs:element name="java" type="geronimo:pathType"/>
                <xs:element name="web" type="geronimo:pathType"/>
            </xs:choice>
            <xs:choice>
                <xs:element name="internal-path" type="xs:token"/>
                <xs:element name="external-path" type="xs:token"/>
            </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: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>

...

Prefix

Namespace

Description

xml

http://www.w3.org/XML/1998/namespace

The namespace whose name is

http://www.w3.org/XML/1998/namespace

is bound by definition to the prefix xml: according to Namespaces in XML, W3C Recommendation 14 Jan 1999

Geronimo

http://geronimo.apache.org/xml/ns/j2ee/application-1.1

This is the target name space defined for Geronimo EAR applications

security

http://geronimo.apache.org/xml/ns/security-1.1

This schema describes Common security elements used by other plans in Security Mapping module.

sys

http://geronimo.apache.org/xml/ns/deployment-1.1

This schema Used to deploy new services in Geronimo in a standalone plan, and also contains common elements used by many other plans and the module type is Server Plans & Common Elements

xs

http://www.w3.org/2001/XMLSchema

This document describes the XML Schema namespace. It also contains a directory of links to these related resources, using Resource Directory Description Language http://www.rddl.org/

Code Block
xml
xml
borderStylesolid
titleSchema Component Representationxml
xs:schema
    xmlns:geronimo="http://geronimo.apache.org/xml/ns/j2ee/application-1.1"
    targetNamespace="http://geronimo.apache.org/xml/ns/j2ee/application-1.1"
    xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
    xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.1"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    version="1.0">
    <xs:import namespace="http://geronimo.apache.org/xml/ns/security-1.1" schemaLocation="geronimo-security-1.1.xsd"/>
    <xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.1" schemaLocation="geronimo-module-1.1.xsd"/>

......
</xs schema>

...

Name

Application

Type

N/A

Geronimo

ApplicationType

Nillable

No

Abstract

No

Documentation

The application element is the root element of a
J2EE application deployment descriptor in Geronimo

Code Block
xml
xml
borderStylesolid
titleXML Instance Representationxml
<geronimo:application>
  <dep:moduleId="xs:string[o..1]" >
     <dep:groupId="xs:string[1]">
     <dep:artifactId="xs:string[1]">
     <dep:version="xs:string[1]">
     <dep:type="xs:string[1]">
<sys:import> ... </sys:import> [0..*] 
<sys:dependency> ... </sys:dependency> [0..*] 
<geronimo:module>  geronimo:moduleType  </geronimo:module> [0..*] 
<geronimo:ext-module>  geronimo:ext-moduleType  </geronimo:ext-module> [0..*] 
<security:security> ... </security:security> [0..1] 
<sys:gbean> ... </sys:gbean> [0..*]
</geronimo:application>
Code Block
xml
xml
borderStylesolid
titleSchema Component Representationxml
 <xs:element name="application" type="geronimo:applicationType"/>

...

Super-types

None

Sub-types

None

Name

applicationType

Abstract

no

Documentation

The applicationType defines the structure of the application in geronimo.
The application deployment descriptor must have one module element for each
J2EE module in the application package. A module element is defined by moduleType
definition

Code Block
xml
xml
borderStylesolid
titleXML Instance Representation: applicationTypexml
<...
<sys:environment>...</sys:environment>
application-name=" xs:string [0..1]">
<sys:import> ... </sys:import> [0..*]
<sys:dependency> ... </sys:dependency> [0..*]
<geronimo:module> geronimo:moduleType </geronimo:module> [0..*]
<geronimo:ext-module> geronimo:ext-moduleType </geronimo:ext-module> [0..*]
<security:security> ... </security:security> [0..1]
<sys:gbean> ... </sys:gbean> [0..*]
</...>
Code Block
xml
xml
borderStylesolid
titleSchema Component Representation: applicationTypexml
<xs:complexType name="applicationType">
        <xs:sequence>
            <xs:element ref="sys:environment"/>
            <xs:element name="module" type="geronimo:moduleType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="ext-module" type="geronimo:ext-moduleType" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="security:security" minOccurs="0"/>
            <xs:element ref="sys:gbean" minOccurs="0" maxOccurs="unbounded"/>
        </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:complexType>

...

Super-types

None

Sub-types

None

Name

ext-moduleType

Abstract

no

Documentation

Mirrors the moduleType defined by application_1_4.xsd and adds an optional alt-dd element
defining a Geronimo specific deploy descriptors.

Code Block
xml
xml
borderStylesolid
titleXML Instance Representation: ext-ModuleTypexml
<xs:complexType name="ext-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.
            </xs:documentation>
        </xs:annotation>
        <xs:sequence>
            <xs:choice>
                <xs:annotation>
                    <xs:documentation>
            This is the name for the module, not the path inside the ear.
                    </xs:documentation>
                </xs:annotation>
                <xs:element name="connector" type="geronimo:pathType"/>
                <xs:element name="ejb" type="geronimo:pathType"/>
                <xs:element name="java" type="geronimo:pathType"/>
                <xs:element name="web" type="geronimo:pathType"/>
            </xs:choice>
            <xs:choice>
                <xs:element name="internal-path" type="xs:token"/>
                <xs:element name="external-path" type="xs:token"/>
            </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:sequence>
    </xs:complexType>
Code Block
xml
xml
borderStylesolid
titleSchema Component Representation: ext-ModuleTypexml
 <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>

...

Super-types

xs:token < string (by extension)

Sub-types

None

Name

string

Abstract

no

Documentation

Mirrors j2ee:string.

Code Block
xml
xml
borderStylesolid
titleXML Instance Representation: stringxml
<...
  id=" xs:ID [0..1]"> 
   xs:token  
</...>
Code Block
xml
xml
borderStylesolid
titleSchema Component Representation: stringxml
<xs:complexType name="string">
<xs:simpleContent>
            <xs:extension base="xs:token">
                <xs:attribute name="id" type="xs:ID"/>
            </xs:extension>
        </xs:simpleContent>
</xs:complexType >

...

The table above displays the properties of this schema component.

Code Block
xml
xml
borderStylesolid
titleXML Instance Representationxml
<...   country="Australia" > 
 <unitNo> string </unitNo> [0..1]  
 <houseNo> string </houseNo> [1]  
 <street> string </street> [1]  
 Start Choice [1]  
 <city> string </city> [1]  
 <town> string </town> [1]  
 End Choice 
  <state> AusStates </state> [1]  
 <postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1] ?  
  </...> 

...

  • The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
  • Model group information are shown in gray, e.g. Start Choice ... End Choice.
  • For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold.
  • If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
  • Otherwise, the type of the element/attribute is displayed.
    • If the element/attribute's type is in the schema, a link is provided to it.
    • For local simple type definitions, the constraints are displayed in angle brackets, e.g. <pattern = [1-9][0-9]{3}/>
  • If a local element/attribute has documentation, it will be displayed in a window that pops up when the question mark inside the attribute or next to the element is clicked, e.g. <postcode>.
Code Block
xml
xml
borderStylesolid
titleSchema Component Representationxml
<complexType name="AusAddress"> 
 <complexContent> 
 <extension base=" Address "> 
 <sequence> 
 <element name="state" type=" AusStates "/> 
 <element name="postcode"> 
 <simpleType> 
 <restriction base=" string "> 
 <pattern value="[1-9][0-9]{3}"/> 
 </restriction> 
 </simpleType> 
 </element> 
 </sequence> 
 <attribute name="country" type=" string " fixed="Australia"/> 
 </extension> 
 </complexContent> 
 </complexType> 

...