blob: 391396f49ba032db7ee043f223559e48077449f1 [file] [log] [blame]
<?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.
-->
<!-- $Rev: 957655 $ $Date: 2010-06-25 02:06:24 +0800 (Fri, 25 Jun 2010) $ -->
<xs:schema xmlns:tomcat="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1"
targetNamespace="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:app="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:jaspi="http://geronimo.apache.org/xml/ns/geronimo-jaspi"
xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.1">
<!--xmlns:ee="http://java.sun.com/xml/ns/persistence"-->
<xs:annotation>
<xs:documentation>
This is an XML Schema Definition for Geronimo tomcat web application
deployment plan. In case the web application deployment plan is
provided internally in the web archive, it should be named
META-INF/geronimo-web.xml. In case the web application deployment
plan is provided externally, the deployment descriptor can be named
anything and provided to the deploy tool. Alternatively, it can be
included in the EAR and referenced by an alt-dd element of the EAR
deployment plan. All the web application deployment plan must
specify the top level element as web-app with namespace specified as
xmlns="http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1". The
default location for this document is
http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-2.0.1
</xs:documentation>
</xs:annotation>
<xs:import namespace="http://geronimo.apache.org/xml/ns/naming-1.2"
schemaLocation="geronimo-naming-1.2.xsd">
<xs:annotation>
<xs:documentation>
Import partial schema containing common naming elements, the
imported plan declares elements like ejb-ref, ejb-local-ref,
service-ref, resource-ref, and resource-env-ref required by this
plan schema.
</xs:documentation>
</xs:annotation>
</xs:import>
<xs:import
namespace="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
schemaLocation="geronimo-application-2.0.xsd">
<xs:annotation>
<xs:documentation>
Import Geronimo application deployment plans. The imported plan
includes abstract complex types security required by this plan
schema.
</xs:documentation>
</xs:annotation>
</xs:import>
<xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.2"
schemaLocation="geronimo-module-1.2.xsd">
<xs:annotation>
<xs:documentation>
Import Geronimo Services deployment plans. The imported plan
includes complex types like moduleType, environmentType,
dependenciesType, etc. required by this plan schema.
</xs:documentation>
</xs:annotation>
</xs:import>
<!--<xs:import namespace="http://java.sun.com/xml/ns/persistence" schemaLocation="http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"/>-->
<xs:import namespace="http://geronimo.apache.org/xml/ns/geronimo-jaspi" schemaLocation="geronimo-jaspi.xsd"/>
<xs:element name="web-app" type="tomcat:web-appType">
<xs:annotation>
<xs:documentation>
The web-app element is the root of the deployment descriptor for
a Geronimo tomcat web application. Note that the sub-elements of
this element should be as in the given order in a sequence.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="web-appType">
<xs:sequence>
<xs:element ref="sys:environment" minOccurs="0">
<xs:annotation>
<xs:documentation>
Reference to environment element defined in imported
"geronimo-module-1.2.xsd"
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="context-root" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
This is the first part of the URL used to access the web
application. For example context-root of "Sample-App"
will have URL of http://host:port/Sample-App" and a
context-root of "/" would make this the default web
application to the server.
If the web application is packaged as an EAR that can
use application context in the "application.xml". This
element is necessary unless you want context root to
default to the WAR name.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="work-dir" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
This is the work directory that will be used by this
application. The directory location will be relative
to "catalina.home".
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="app:clustering" minOccurs="0">
<xs:annotation>
<xs:documentation>
Reference to abstract clustering element defined in
imported "geronimo-application-2.0.xsd"
</xs:documentation>
</xs:annotation>
</xs:element>
<!--<xs:element name="context-priority-classloader" type="xs:boolean" minOccurs="0"/>-->
<xs:element ref="naming:web-container" minOccurs="0">
<xs:annotation>
<xs:documentation>
Reference to web-container element defined in imported
"geronimo-naming-1.2.xsd"
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="host" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The host element maps the web application to this
particular host name.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cross-context" type="tomcat:emptyType"
minOccurs="0">
<xs:annotation>
<xs:documentation>
The cross-context is an indicative element to specify
that the web application will use dispatch request to
other applications and this cross context should be
enabled.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="disable-cookies" type="tomcat:emptyType"
minOccurs="0">
<xs:annotation>
<xs:documentation>
The presence of disable-cookies element indicates the
cookies will not be used by tomcat web application and
should be disabled.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="valve-chain" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The valve-chain provides the list of first element
tomcat valves chain for this web application.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="listener-chain" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The listener-chain provides the list of first element
tomcat lifecycle listener chain for this web application.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="tomcat-realm" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The tomcat-realm provides the tomcat security realm used
by this web application.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="manager" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The manager provides the clustering implementation used
by this web application.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="cluster" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The cluster provides the name of cluster this web
application belongs to.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:group ref="naming:jndiEnvironmentRefsGroup">
<xs:annotation>
<xs:documentation>
Reference to jndiEnvironmentRefsGroup group defined in
imported "geronimo-naming-1.2.xsd"
</xs:documentation>
</xs:annotation>
</xs:group>
<xs:element ref="naming:message-destination" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
Reference to message-destination element defined in
imported "geronimo-naming-1.2.xsd"
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:sequence minOccurs="0">
<xs:element name="security-realm-name" type="xs:string">
<xs:annotation>
<xs:documentation>
The security-realm-name element provides the name of
security realm that will be used by JAAS
authentication. The name should match the your
security realm GBean.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="authentication" type="tomcat:authenticationType" minOccurs="0">
<xs:annotation>
<xs:documentation>
The authentication element provides configuration for a specific
jaspi AuthConfigProvider, ServerAuthConfig, ServerAuthContext, or ServerAuthModule
to be used for authentication rather than a standard authentication method configured
in web.xml.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element ref="app:security" minOccurs="0">
<xs:annotation>
<xs:documentation>
Reference to security element defined in imported
"geronimo-security-2.0.xsd"
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="sys:service">
<xs:annotation>
<xs:documentation>
Reference to abstract service element defined in imported
"geronimo-module-1.2.xsd"
</xs:documentation>
</xs:annotation>
</xs:element>
<!--<xs:element ref="ee:persistence"/>-->
<xs:any namespace="http://java.sun.com/xml/ns/persistence"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="emptyType" />
<xs:complexType name="authenticationType">
<xs:choice minOccurs="0">
<xs:element ref="jaspi:configProvider"/>
<xs:element ref="jaspi:serverAuthConfig"/>
<xs:element ref="jaspi:serverAuthContext"/>
<xs:element ref="jaspi:serverAuthModule"/>
</xs:choice>
</xs:complexType>
</xs:schema>