Apache Geronimo >  Index >  Development >  XML Schemas >  Apache Geronimo v3.0 XML Schemas User List | Dev List | Wiki | Issue Tracker  
  Overview
Home
License
ASF
Project Policies
Downloads
Documentation
News Archive
  Search
Powered by Google Search
  Community
Events
Get Involved
Committers
Mailing Lists
Discussion Forums
IRC
FAQ
Wiki
Found a Bug?
Service and Support
ASF Sponsorship
ASF Thanks!
  Development
Javadoc
XML Schemas
Source Code
Coding Standards
Issue Tracker
Related Projects
Sample Applications
  Subprojects
Development Tools
GBuild
GShell
XBean

Documentation for geronimo-application-2.0

Table of Contents

top

Schema Document Properties

Target Namespace http://geronimo.apache.org/xml/ns/j2ee/application-2.0
Version 1.0
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.
Schema Composition
  • This schema imports schema(s) from the following namespace(s):
    • http://geronimo.apache.org/xml/ns/deployment-1.2 (at geronimo-module-1.2.xsd)
Documentation This is an XML Schema Definition for Geronimo enterprise application deployment plan. In case the enterprise application deployment plan is provided internally in the enterprise archive, it should be located under META-INF/geronimo-application.xml. In case the enterprise application deployment plan is provided externally, the deployment descriptor can be named anything and provided as an argument to the deploy tool. All the enterprise application deployment plan must specify the top level element as application with namespace specified as xmlns = "http://geronimo.apache.org/xml/ns/j2ee/application-2.0". The default location for this document is http://geronimo.apache.org/xml/ns/j2ee/application-2.0

Declared Namespaces

Prefix Namespace
xml http://www.w3.org/XML/1998/namespace
geronimo http://geronimo.apache.org/xml/ns/j2ee/application-2.0
xs http://www.w3.org/2001/XMLSchema
sys http://geronimo.apache.org/xml/ns/deployment-1.2
Schema Component Representation
<xs:schema targetNamespace="http://geronimo.apache.org/xml/ns/j2ee/application-2.0" elementFormDefault="qualified" attributeFormDefault="unqualified" version="1.0">
<xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.2" schemaLocation="geronimo-module-1.2.xsd"/>
...
</xs:schema>
top

Global Declarations

Element: application

Name application
Type geronimo:applicationType
Nillable no
Abstract no
Documentation The root element for Geronimo web application deployment plan. This element should always exist in instance documents. Note that the sub-elements of this element should be as in the given order in the sequence.
XML Instance Representation
<geronimo:application
application-name=" xs:string [0..1]

'An optional attribute used to define the application name for main parent enterprise application defined in ear module.'

"
>
<sys:environment> ... </sys:environment> [1]

'Reference to environment element defined in imported \"geronimo-module-1.2.xsd\"'

<geronimo:module> geronimo:moduleType </geronimo:module> [0..*]

'An optional module element which defines various modules included in the enterprise application archive. It mirrors the moduleType defined by application_1_4.xsd and adds an optional alt-dd element defining a Geronimo specific deployment descriptor.'

<geronimo:ext-module> geronimo:ext-moduleType </geronimo:ext-module> [0..*]

'It is used to define modules included in this application externally and these module could be included in the archive, or they may reside in Geronimo repository. It defines optional internal-path or external-path to module/repository element being referenced.'

<geronimo:security> ... </geronimo:security> [0..1]

'Reference to security element defined in this schema. If this optional element is present, all web and EJB modules must make the appropriate access checks as outlined in the JACC spec. This element groups the security role mapping settings for the application.'

<sys:service> ... </sys:service> [0..*]

'Reference to service element defined in imported \"geronimo-module-1.2.xsd\".'

</geronimo:application>
Diagram
h1508775248 h-391482901 h439536279 h-2080266973 h85315698
Schema Component Representation
<xs:element name="application" type=" geronimo:applicationType "/>
top

Element: clustering

Name clustering
Type geronimo:abstract-clusteringType
Nillable no
Abstract no
Documentation An abstract clustering used to provide clustering informtation for this application.
XML Instance Representation
<geronimo:clustering/>
Diagram
Schema Component Representation
<xs:element name="clustering" type=" geronimo:abstract-clusteringType "/>
top

Element: security

Name security
Used by (from the same schema document) Complex Type applicationType
Type geronimo:abstract-securityType
Nillable no
Abstract no
Documentation If this optional element is present, all web and EJB modules must make the appropriate access checks as outlined in the JACC spec. This element groups the security role mapping settings for the application.
XML Instance Representation
<geronimo:security/>
Diagram
Schema Component Representation
<xs:element name="security" type=" geronimo:abstract-securityType "/>
top

Global Definitions

Complex Type: abstract-clusteringType

Super-types: None
Sub-types: None
Name abstract-clusteringType
Used by (from the same schema document) Element clustering
Abstract yes
XML Instance Representation
<.../>
Diagram
Schema Component Representation
<xs:complexType name="abstract-clusteringType" abstract="true">
<xs:sequence/>
</xs:complexType>
top

Complex Type: abstract-securityType

Super-types: None
Sub-types: None
Name abstract-securityType
Used by (from the same schema document) Element security
Abstract yes
Documentation An abstract abstract-securityType used to indicate, all web and EJB modules must make the appropriate access checks as outlined in the JACC spec. This type will be extended and implemented by geronimo-security-2.0.xsd file.
XML Instance Representation
<.../>
Diagram
Schema Component Representation
<xs:complexType name="abstract-securityType" abstract="true">
<xs:sequence/>
</xs:complexType>
top

Complex Type: applicationType

Super-types: None
Sub-types: None
Name applicationType
Used by (from the same schema document) Element application
Abstract no
Documentation The complex type for root element, it defines the elements of root element for Geronimo enterprise application deployment plan. Basically it is a sequence of elements environment, module, ext-module, security, and services.
XML Instance Representation
<...
application-name=" xs:string [0..1]

'An optional attribute used to define the application name for main parent enterprise application defined in ear module.'

"
>
<sys:environment> ... </sys:environment> [1]

'Reference to environment element defined in imported \"geronimo-module-1.2.xsd\"'

<geronimo:module> geronimo:moduleType </geronimo:module> [0..*]

'An optional module element which defines various modules included in the enterprise application archive. It mirrors the moduleType defined by application_1_4.xsd and adds an optional alt-dd element defining a Geronimo specific deployment descriptor.'

<geronimo:ext-module> geronimo:ext-moduleType </geronimo:ext-module> [0..*]

'It is used to define modules included in this application externally and these module could be included in the archive, or they may reside in Geronimo repository. It defines optional internal-path or external-path to module/repository element being referenced.'

<geronimo:security> ... </geronimo:security> [0..1]

'Reference to security element defined in this schema. If this optional element is present, all web and EJB modules must make the appropriate access checks as outlined in the JACC spec. This element groups the security role mapping settings for the application.'

<sys:service> ... </sys:service> [0..*]

'Reference to service element defined in imported \"geronimo-module-1.2.xsd\".'

</...>
Diagram
h1508775248 h-391482901 h439536279 h-2080266973 h85315698
Schema Component Representation
<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=" geronimo:security " minOccurs="0"/>
<xs:element ref=" sys:service " 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>
top

Complex Type: ext-moduleType

Super-types: None
Sub-types: None
Name ext-moduleType
Used by (from the same schema document) Complex Type applicationType
Abstract no
Documentation It is used to define modules included in this application externally and is not a part of the archive. It defines optional internal-path or external-path to module/repository element being referenced.
XML Instance Representation
<...>
Start Choice [1]
<geronimo:connector> geronimo:pathType </geronimo:connector> [1]

'The presence of this element is indicative of J2EE module type to be resource adapter module, and the value of this element provides URI of resource adapter archive file path relative to the enterprise application package main directory.'

<geronimo:ejb> geronimo:pathType </geronimo:ejb> [1]

'The presence of this element is indicative of J2EE module type to be EJB module, and the value of this element provides URI of EJB archive file path relative to the enterprise application package main directory.'

<geronimo:java> geronimo:pathType </geronimo:java> [1]

'The presence of this element is indicative of J2EE module type to be Java Application client module, and the value of this element provides URI of application client java archive file path relative to the enterprise application package main directory.'

<geronimo:web> geronimo:pathType </geronimo:web> [1]

'The presence of this element is indicative of Web module type to be EJB module, and the value of this element provides URI of Web archive file path relative to the enterprise application package main directory.'

End Choice
Start Choice [1]
<geronimo:internal-path> xs:token </geronimo:internal-path> [1]

'The element indicates that the module is a part of this enterprise application. The value of this element specifies the path of module relative to internal path indicates that the module is packaged in the EAR, and a path specified here is relative to the enterprise application package main directory.'

<geronimo:external-path> sys:patternType </geronimo:external-path> [1]

'The element indicates that the module is not a part of this enterprise application, but rather located matching the supplied pattern in a Geronimo repository.'

End Choice
Allow any elements from a namespace other than this schema's namespace (lax validation). [1]
</...>
Diagram
h-1974013852 h-1974013852 h-1974013852 h-1974013852 h284462437
Schema Component Representation
<xs:complexType name="ext-moduleType">
<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="internal-path" type=" xs:token "/>
<xs:element name="external-path" type=" sys:patternType "/>
</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>
top

Complex Type: moduleType

Super-types: None
Sub-types: None
Name moduleType
Used by (from the same schema document) Complex Type applicationType
Abstract no
Documentation Mirrors the moduleType defined by application_1_4.xsd and adds an optional alt-dd element defining a Geronimo specific deployment descriptor for J2EE connector, ejb, web, or java client modules.
XML Instance Representation
<...>
Start Choice [1]
<geronimo:connector> geronimo:pathType </geronimo:connector> [1]

'The presence of this element is indicative of J2EE module type to be resource adapter module, and the value of this element provides URI of resource adapter archive file path relative to the enterprise application package main directory.'

<geronimo:ejb> geronimo:pathType </geronimo:ejb> [1]

'The presence of this element is indicative of J2EE module type to be EJB module, and the value of this element provides URI of EJB archive file path relative to the enterprise application package main directory.'

<geronimo:java> geronimo:pathType </geronimo:java> [1]

'The presence of this element is indicative of J2EE module type to be Java Application client module, and the value of this element provides URI of application client java archive file path relative to the enterprise application package main directory.'

<geronimo:web> geronimo:pathType </geronimo:web> [1]

'The presence of this element is indicative of Web module type to be EJB module, and the value of this element provides URI of Web archive file path relative to the enterprise application package main directory.'

End Choice
Start Choice [1]
<geronimo:alt-dd> geronimo:pathType </geronimo:alt-dd> [1]

'Specifies an optional URI to the post-assembly version of the Geronimo specific deployment descriptor file for a particular J2EE module relative to the enterprise application package main directory.'

Allow any elements from a namespace other than this schema's namespace (lax validation). [1]
End Choice
</...>
Diagram
h-1974013852 h-1974013852 h-1974013852 h-1974013852 h-1974013852
Schema Component Representation
<xs:complexType name="moduleType">
<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:any namespace="##other" processContents="lax"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
top

Complex Type: pathType

Super-types: xs:token < string (by extension) < pathType (by restriction)
Sub-types: None
Name pathType
Used by (from the same schema document) Complex Type moduleType , Complex Type moduleType , Complex Type moduleType , Complex Type moduleType , Complex Type moduleType , Complex Type ext-moduleType , Complex Type ext-moduleType , Complex Type ext-moduleType , Complex Type ext-moduleType
Abstract no
Documentation Mirrors j2ee:pathType.
XML Instance Representation
<...
id=" xs:ID [0..1]">
geronimo:string
</...>
Diagram
h878975158
Schema Component Representation
<xs:complexType name="pathType">
<xs:simpleContent>
<xs:restriction base=" geronimo:string "/>
</xs:simpleContent>
</xs:complexType>
top

Complex Type: string

Super-types: xs:token < string (by extension)
Sub-types: None
Name string
Abstract no
Documentation Mirrors j2ee:string.
XML Instance Representation
<...
id=" xs:ID [0..1]">
xs:token
</...>
Diagram
Schema Component Representation
<xs:complexType name="string">
<xs:simpleContent>
<xs:extension base=" xs:token ">
<xs:attribute name="id" type=" xs:ID "/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
top

Legend

Complex Type:

Schema Component Type

AusAddress

Schema Component Name
Super-types: Address < AusAddress (by extension)
Sub-types:
  • QLDAddress (by restriction)
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
Name AusAddress
Abstract no
The table above displays the properties of this schema component.
XML Instance Representation
<... 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 XML Instance Representation table above shows the schema component's content as an XML instance.

  • 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}>>.
Schema Component Representation
<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>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
top

Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

top