| <?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: 774466 $ $Date: 2009-05-13 11:18:23 -0700 (Wed, 13 May 2009) $ --> | |
| <xs:schema | |
| xmlns:web="http://geronimo.apache.org/xml/ns/j2ee/web-2.0.1" | |
| targetNamespace="http://geronimo.apache.org/xml/ns/j2ee/web-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:ee="http://java.sun.com/xml/ns/persistence" | |
| xmlns:xs="http://www.w3.org/2001/XMLSchema" | |
| elementFormDefault="qualified" | |
| attributeFormDefault="unqualified" | |
| version="1.0"> | |
| <xs:import namespace="http://geronimo.apache.org/xml/ns/naming-1.2" schemaLocation="geronimo-naming-1.2.xsd"/> | |
| <xs:import namespace="http://geronimo.apache.org/xml/ns/j2ee/application-2.0" schemaLocation="geronimo-application-2.0.xsd"/> | |
| <xs:import namespace="http://geronimo.apache.org/xml/ns/deployment-1.2" schemaLocation="geronimo-module-1.2.xsd"/> | |
| <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 web | |
| application. Note that the sub-elements of this element should be as in the given order because it is | |
| defined as a sequence. | |
| </xs:documentation> | |
| </xs:annotation> | |
| <xs:annotation> | |
| <xs:documentation> | |
| This group keeps the usage of the contained JNDI environment | |
| reference elements consistent across J2EE deployment descriptors. | |
| </xs:documentation> | |
| </xs:annotation> | |
| <xs:complexType name="web-appType"> | |
| <xs:sequence> | |
| <xs:element ref="sys:environment" 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 be 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="context-root" type="xs:string" minOccurs="0"/> | |
| <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. | |
| For Jetty this will be relative to jetty home which is var/jetty | |
| by default. | |
| For Tomcat this will be relative to "catalina.home". | |
| </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:element name="container-config" type="web:container-configType" minOccurs="0"> | |
| <xs:annotation> | |
| <xs:documentation> | |
| Geronimo supports both Jetty and Tomcat web containers. This element is | |
| for a web application needs to take container specific settings. It can hold either a Tomcat element or a Jetty element or both. | |
| </xs:documentation> | |
| </xs:annotation> | |
| </xs:element> | |
| <xs:group ref="naming:jndiEnvironmentRefsGroup"/> | |
| <xs:element ref="naming:message-destination" minOccurs="0" maxOccurs="unbounded"/> | |
| <xs:sequence minOccurs="0"> | |
| <xs:element name="security-realm-name" type="xs:string"/> | |
| <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:sequence> | |
| <xs:choice minOccurs="0" maxOccurs="unbounded"> | |
| <xs:element ref="sys:service" minOccurs="0" maxOccurs="unbounded"> | |
| <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: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:complexType name="container-configType"> | |
| <xs:sequence> | |
| <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/> | |
| </xs:sequence> | |
| </xs:complexType> | |
| </xs:schema> |