blob: dad9648e9470a467e91ae4b859362c039833da95 [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:web="http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0.2"
targetNamespace="http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0.2"
xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.2"
xmlns:sys="http://geronimo.apache.org/xml/ns/deployment-1.2"
xmlns:app="http://geronimo.apache.org/xml/ns/j2ee/application-2.0"
xmlns:jaspi="http://geronimo.apache.org/xml/ns/geronimo-jaspi"
xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
attributeFormDefault="unqualified" version="1.0">
<!--xmlns:ee="http://java.sun.com/xml/ns/persistence"-->
<xs:annotation>
<xs:documentation>
This is an XML Schema Definition for Geronimo jetty 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/jetty-2.0.2". The
default location for this document is
http://geronimo.apache.org/xml/ns/j2ee/web/jetty-2.0.2
</xs:documentation>
</xs:annotation>
<!--xmlns:security="http://geronimo.apache.org/xml/ns/security-1.2"-->
<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/security-1.2" schemaLocation="geronimo-security-1.2.xsd"/>-->
<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 and clustering element
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_1_0.xsd"/>-->
<xs:import namespace="http://geronimo.apache.org/xml/ns/geronimo-jaspi" schemaLocation="geronimo-jaspi.xsd"/>
<xs:element name="web-app" type="web:web-appType">
<xs:annotation>
<xs:documentation>
The web-app element is the root of the deployment descriptor for
a Geronimo jetty 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 jetty home, which is var/jetty by default. Note
that this is different from "jetty.home" system
property.
</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 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"
maxOccurs="unbounded">
<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="virtual-host" type="xs:string" minOccurs="0"
maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>
The virtual-host element maps the web application to
this particular host name.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="session-manager" type="xs:string" minOccurs="0">
<xs:annotation>
<xs:documentation>
The session-manager provides the fully qualified class
name of the clustering implementation
(org.codehaus.wadi.jetty5.JettyManager) used by this web
application.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="compact-path" type="xs:boolean" minOccurs="0">
<xs:annotation>
<xs:documentation>
See Jetty-386. Setting this to true makes paths like http://localhost:8080/test//favicon.ico
act the same as http://localhost:8080/test/favicon.ico. Setting this to true is likely to result
in a security vulnerability such as exposing static content in WEB-INF and behind security constraints.
</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="web: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-1.2.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="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>