<?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.
--->
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://java.sun.com/xml/ns/j2ee"
- xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
+ targetNamespace="http://java.sun.com/xml/ns/javaee"
+ xmlns:javaee="http://java.sun.com/xml/ns/javaee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
- version="2.4">
+ version="2.5">
<xsd:annotation>
<xsd:documentation>
- %W% %E%
+ @(#)web-app_2_5.xsds 1.62 05/08/06
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- Copyright 2004 Sun Microsystems, Inc., 901 San Antonio
- Road, Palo Alto, California 94303, U.S.A. All rights
- reserved.
+ Copyright 2003-2005 Sun Microsystems, Inc.
+ 4150 Network Circle
+ Santa Clara, California 95054
+ U.S.A
+ All rights reserved.
Sun Microsystems, Inc. has intellectual property rights
relating to technology described in this document. In
<xsd:documentation>
<![CDATA[
- This is the XML Schema for the Servlet 2.4 deployment descriptor.
+ This is the XML Schema for the Servlet 2.5 deployment descriptor.
The deployment descriptor must be named "WEB-INF/web.xml" in the
web application's war file. All Servlet deployment descriptors
- must indicate the web application schema by using the J2EE
+ must indicate the web application schema by using the Java EE
namespace:
- http://java.sun.com/xml/ns/j2ee
+ http://java.sun.com/xml/ns/javaee
and by indicating the version of the schema by
using the version element as shown below:
- <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
+ <web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="..."
- version="2.4">
+ version="2.5">
...
</web-app>
The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for J2EE
+ the schema using the xsi:schemaLocation attribute for Java EE
namespace with the following location:
- http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd
+ http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd
]]>
</xsd:documentation>
<xsd:annotation>
<xsd:documentation>
- The following conventions apply to all J2EE
+ The following conventions apply to all Java EE
deployment descriptor elements unless indicated otherwise.
- In elements that specify a pathname to a file within the
</xsd:documentation>
</xsd:annotation>
- <xsd:include schemaLocation="j2ee_1_4.xsd"/>
- <xsd:include schemaLocation="jsp_2_0.xsd"/>
+ <xsd:include schemaLocation="javaee_5.xsd"/>
+ <xsd:include schemaLocation="jsp_2_1.xsd"/>
<!-- **************************************************** -->
- <xsd:element name="web-app" type="j2ee:web-appType">
+ <xsd:element name="web-app" type="javaee:web-appType">
<xsd:annotation>
<xsd:documentation>
file must not contain multiple elements of session-config,
jsp-config, and login-config. When there are multiple elements of
welcome-file-list or locale-encoding-mapping-list, the container
- must concatinate the element contents. The multiple occurance
+ must concatenate the element contents. The multiple occurence
of the element distributable is redundant and the container
treats that case exactly in the same way when there is only
one distributable.
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:servlet"/>
- <xsd:field xpath="j2ee:servlet-name"/>
+ <xsd:selector xpath="javaee:servlet"/>
+ <xsd:field xpath="javaee:servlet-name"/>
</xsd:unique>
<xsd:unique name="web-app-filter-name-uniqueness">
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:filter"/>
- <xsd:field xpath="j2ee:filter-name"/>
+ <xsd:selector xpath="javaee:filter"/>
+ <xsd:field xpath="javaee:filter-name"/>
</xsd:unique>
<xsd:unique name="web-app-ejb-local-ref-name-uniqueness">
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:ejb-local-ref"/>
- <xsd:field xpath="j2ee:ejb-ref-name"/>
+ <xsd:selector xpath="javaee:ejb-local-ref"/>
+ <xsd:field xpath="javaee:ejb-ref-name"/>
</xsd:unique>
<xsd:unique name="web-app-ejb-ref-name-uniqueness">
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:ejb-ref"/>
- <xsd:field xpath="j2ee:ejb-ref-name"/>
+ <xsd:selector xpath="javaee:ejb-ref"/>
+ <xsd:field xpath="javaee:ejb-ref-name"/>
</xsd:unique>
<xsd:unique name="web-app-resource-env-ref-uniqueness">
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:resource-env-ref"/>
- <xsd:field xpath="j2ee:resource-env-ref-name"/>
+ <xsd:selector xpath="javaee:resource-env-ref"/>
+ <xsd:field xpath="javaee:resource-env-ref-name"/>
</xsd:unique>
<xsd:unique name="web-app-message-destination-ref-uniqueness">
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:message-destination-ref"/>
- <xsd:field xpath="j2ee:message-destination-ref-name"/>
+ <xsd:selector xpath="javaee:message-destination-ref"/>
+ <xsd:field xpath="javaee:message-destination-ref-name"/>
</xsd:unique>
<xsd:unique name="web-app-res-ref-name-uniqueness">
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:resource-ref"/>
- <xsd:field xpath="j2ee:res-ref-name"/>
+ <xsd:selector xpath="javaee:resource-ref"/>
+ <xsd:field xpath="javaee:res-ref-name"/>
</xsd:unique>
<xsd:unique name="web-app-env-entry-name-uniqueness">
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:env-entry"/>
- <xsd:field xpath="j2ee:env-entry-name"/>
+ <xsd:selector xpath="javaee:env-entry"/>
+ <xsd:field xpath="javaee:env-entry-name"/>
</xsd:unique>
<xsd:key name="web-app-role-name-key">
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:security-role"/>
- <xsd:field xpath="j2ee:role-name"/>
+ <xsd:selector xpath="javaee:security-role"/>
+ <xsd:field xpath="javaee:role-name"/>
</xsd:key>
<xsd:keyref name="web-app-role-name-references"
- refer="j2ee:web-app-role-name-key">
+ refer="javaee:web-app-role-name-key">
<xsd:annotation>
<xsd:documentation>
</xsd:documentation>
</xsd:annotation>
- <xsd:selector xpath="j2ee:servlet/j2ee:security-role-ref"/>
- <xsd:field xpath="j2ee:role-link"/>
+ <xsd:selector xpath="javaee:servlet/javaee:security-role-ref"/>
+ <xsd:field xpath="javaee:role-link"/>
</xsd:keyref>
</xsd:element>
<xsd:sequence>
<xsd:element name="description"
- type="j2ee:descriptionType"
+ type="javaee:descriptionType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="role-name"
- type="j2ee:role-nameType"
+ type="javaee:role-nameType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:restriction base="j2ee:string"/>
+ <xsd:restriction base="javaee:string"/>
</xsd:simpleContent>
</xsd:complexType>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
+ <xsd:restriction base="javaee:string">
<xsd:enumeration value="FORWARD"/>
<xsd:enumeration value="INCLUDE"/>
<xsd:enumeration value="REQUEST"/>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:restriction base="j2ee:xsdPositiveIntegerType">
+ <xsd:restriction base="javaee:xsdPositiveIntegerType">
<xsd:pattern value="\d{3}"/>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:restriction>
<xsd:sequence>
<xsd:choice>
<xsd:element name="error-code"
- type="j2ee:error-codeType"/>
+ type="javaee:error-codeType"/>
<xsd:element name="exception-type"
- type="j2ee:fully-qualified-classType">
+ type="javaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
</xsd:choice>
<xsd:element name="location"
- type="j2ee:war-pathType">
+ type="javaee:war-pathType">
<xsd:annotation>
<xsd:documentation>
<xsd:sequence>
<xsd:element name="filter-name"
- type="j2ee:filter-nameType"/>
- <xsd:choice>
+ type="javaee:filter-nameType"/>
+ <xsd:choice minOccurs="1" maxOccurs="unbounded">
<xsd:element name="url-pattern"
- type="j2ee:url-patternType"/>
+ type="javaee:url-patternType"/>
<xsd:element name="servlet-name"
- type="j2ee:servlet-nameType"/>
+ type="javaee:servlet-nameType"/>
</xsd:choice>
<xsd:element name="dispatcher"
- type="j2ee:dispatcherType"
+ type="javaee:dispatcherType"
minOccurs="0" maxOccurs="4"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:extension base="j2ee:nonEmptyStringType"/>
+ <xsd:extension base="javaee:nonEmptyStringType"/>
</xsd:simpleContent>
</xsd:complexType>
</xsd:annotation>
<xsd:sequence>
- <xsd:group ref="j2ee:descriptionGroup"/>
+ <xsd:group ref="javaee:descriptionGroup"/>
<xsd:element name="filter-name"
- type="j2ee:filter-nameType"/>
+ type="javaee:filter-nameType"/>
<xsd:element name="filter-class"
- type="j2ee:fully-qualified-classType">
+ type="javaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
</xsd:element>
<xsd:element name="init-param"
- type="j2ee:param-valueType"
+ type="javaee:param-valueType"
minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
<xsd:sequence>
<xsd:element name="form-login-page"
- type="j2ee:war-pathType">
+ type="javaee:war-pathType">
<xsd:annotation>
<xsd:documentation>
</xsd:element>
<xsd:element name="form-error-page"
- type="j2ee:war-pathType">
+ type="javaee:war-pathType">
<xsd:annotation>
<xsd:documentation>
<!-- **************************************************** -->
- <xsd:complexType name="http-methodType">
+ <xsd:simpleType name="http-methodType">
<xsd:annotation>
<xsd:documentation>
- The http-method contains an HTTP method recognized by the
- web-app, for example GET, POST, ...
+ A HTTP method type as defined in HTTP 1.1 section 2.2.
</xsd:documentation>
</xsd:annotation>
- <xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:enumeration value="GET"/>
- <xsd:enumeration value="POST"/>
- <xsd:enumeration value="PUT"/>
- <xsd:enumeration value="DELETE"/>
- <xsd:enumeration value="HEAD"/>
- <xsd:enumeration value="OPTIONS"/>
- <xsd:enumeration value="TRACE"/>
- </xsd:restriction>
- </xsd:simpleContent>
- </xsd:complexType>
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="[\p{L}-[\p{Cc}\p{Z}]]+"/>
+ </xsd:restriction>
+
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="load-on-startupType">
+ <xsd:union memberTypes="javaee:null-charType xsd:integer"/>
+ </xsd:simpleType>
<!-- **************************************************** -->
<xsd:sequence>
<xsd:element name="locale-encoding-mapping"
- type="j2ee:locale-encoding-mappingType"
+ type="javaee:locale-encoding-mappingType"
maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
<xsd:sequence>
<xsd:element name="locale"
- type="j2ee:localeType"/>
+ type="javaee:localeType"/>
<xsd:element name="encoding"
- type="j2ee:encodingType"/>
+ type="javaee:encodingType"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
<xsd:sequence>
<xsd:element name="auth-method"
- type="j2ee:auth-methodType"
+ type="javaee:auth-methodType"
minOccurs="0"/>
<xsd:element name="realm-name"
- type="j2ee:string" minOccurs="0">
+ type="javaee:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="form-login-config"
- type="j2ee:form-login-configType"
+ type="javaee:form-login-configType"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:annotation>
<xsd:element name="extension"
- type="j2ee:string"/>
+ type="javaee:string"/>
<xsd:element name="mime-type"
- type="j2ee:mime-typeType"/>
+ type="javaee:mime-typeType"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
- <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/>
+ <xsd:restriction base="javaee:string">
+ <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
+ <xsd:restriction base="javaee:string">
<xsd:minLength value="1"/>
</xsd:restriction>
</xsd:simpleContent>
<!-- **************************************************** -->
+ <xsd:simpleType name="null-charType">
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value=""/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="security-constraintType">
<xsd:annotation>
<xsd:documentation>
<xsd:sequence>
<xsd:element name="display-name"
- type="j2ee:display-nameType"
+ type="javaee:display-nameType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="web-resource-collection"
- type="j2ee:web-resource-collectionType"
+ type="javaee:web-resource-collectionType"
maxOccurs="unbounded"/>
<xsd:element name="auth-constraint"
- type="j2ee:auth-constraintType"
+ type="javaee:auth-constraintType"
minOccurs="0"/>
<xsd:element name="user-data-constraint"
- type="j2ee:user-data-constraintType"
+ type="javaee:user-data-constraintType"
minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
<xsd:sequence>
<xsd:element name="servlet-name"
- type="j2ee:servlet-nameType"/>
+ type="javaee:servlet-nameType"/>
<xsd:element name="url-pattern"
- type="j2ee:url-patternType"/>
+ type="javaee:url-patternType"
+ minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:extension base="j2ee:nonEmptyStringType"/>
+ <xsd:extension base="javaee:nonEmptyStringType"/>
</xsd:simpleContent>
</xsd:complexType>
</xsd:annotation>
<xsd:sequence>
- <xsd:group ref="j2ee:descriptionGroup"/>
+ <xsd:group ref="javaee:descriptionGroup"/>
<xsd:element name="servlet-name"
- type="j2ee:servlet-nameType"/>
+ type="javaee:servlet-nameType"/>
<xsd:choice>
<xsd:element name="servlet-class"
- type="j2ee:fully-qualified-classType">
+ type="javaee:fully-qualified-classType">
<xsd:annotation>
<xsd:documentation>
</xsd:element>
<xsd:element name="jsp-file"
- type="j2ee:jsp-fileType"/>
+ type="javaee:jsp-fileType"/>
</xsd:choice>
<xsd:element name="init-param"
- type="j2ee:param-valueType"
+ type="javaee:param-valueType"
minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="load-on-startup"
- type="j2ee:xsdIntegerType"
+ type="javaee:load-on-startupType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="run-as"
- type="j2ee:run-asType"
+ type="javaee:run-asType"
minOccurs="0"/>
<xsd:element name="security-role-ref"
- type="j2ee:security-role-refType"
+ type="javaee:security-role-refType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
<xsd:sequence>
<xsd:element name="session-timeout"
- type="j2ee:xsdIntegerType"
+ type="javaee:xsdIntegerType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
+ <xsd:restriction base="javaee:string">
<xsd:enumeration value="NONE"/>
<xsd:enumeration value="INTEGRAL"/>
<xsd:enumeration value="CONFIDENTIAL"/>
<xsd:sequence>
<xsd:element name="description"
- type="j2ee:descriptionType"
+ type="javaee:descriptionType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="transport-guarantee"
- type="j2ee:transport-guaranteeType"/>
+ type="javaee:transport-guaranteeType"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>
</xsd:complexType>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
- <xsd:restriction base="j2ee:string">
+ <xsd:restriction base="javaee:string">
<xsd:pattern value="/.*"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
- <xsd:enumeration value="2.4"/>
+ <xsd:enumeration value="2.5"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="web-appType">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
- <xsd:group ref="j2ee:descriptionGroup"/>
+ <xsd:group ref="javaee:descriptionGroup"/>
<xsd:element name="distributable"
- type="j2ee:emptyType"/>
+ type="javaee:emptyType"/>
<xsd:element name="context-param"
- type="j2ee:param-valueType">
+ type="javaee:param-valueType">
<xsd:annotation>
<xsd:documentation>
</xsd:element>
<xsd:element name="filter"
- type="j2ee:filterType"/>
+ type="javaee:filterType"/>
<xsd:element name="filter-mapping"
- type="j2ee:filter-mappingType"/>
+ type="javaee:filter-mappingType"/>
<xsd:element name="listener"
- type="j2ee:listenerType"/>
+ type="javaee:listenerType"/>
<xsd:element name="servlet"
- type="j2ee:servletType"/>
+ type="javaee:servletType"/>
<xsd:element name="servlet-mapping"
- type="j2ee:servlet-mappingType"/>
+ type="javaee:servlet-mappingType"/>
<xsd:element name="session-config"
- type="j2ee:session-configType"/>
+ type="javaee:session-configType"/>
<xsd:element name="mime-mapping"
- type="j2ee:mime-mappingType"/>
+ type="javaee:mime-mappingType"/>
<xsd:element name="welcome-file-list"
- type="j2ee:welcome-file-listType"/>
+ type="javaee:welcome-file-listType"/>
<xsd:element name="error-page"
- type="j2ee:error-pageType"/>
+ type="javaee:error-pageType"/>
<xsd:element name="jsp-config"
- type="j2ee:jsp-configType"/>
+ type="javaee:jsp-configType"/>
<xsd:element name="security-constraint"
- type="j2ee:security-constraintType"/>
+ type="javaee:security-constraintType"/>
<xsd:element name="login-config"
- type="j2ee:login-configType"/>
+ type="javaee:login-configType"/>
<xsd:element name="security-role"
- type="j2ee:security-roleType"/>
- <xsd:group ref="j2ee:jndiEnvironmentRefsGroup"/>
+ type="javaee:security-roleType"/>
+ <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
<xsd:element name="message-destination"
- type="j2ee:message-destinationType"/>
+ type="javaee:message-destinationType"/>
<xsd:element name="locale-encoding-mapping-list"
- type="j2ee:locale-encoding-mapping-listType"/>
+ type="javaee:locale-encoding-mapping-listType"/>
</xsd:choice>
<xsd:attribute name="version"
- type="j2ee:web-app-versionType"
+ type="javaee:web-app-versionType"
use="required"/>
<xsd:attribute name="id" type="xsd:ID"/>
+
+ <xsd:attribute name="full" type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The full attribute defines whether this deployment
+ descriptor is complete, or whether the class files
+ of the jar file should be examined for annotations
+ that specify deployment information.
+
+ If full is set to "true", the deployment tool
+ must ignore any Servlet annotations present in the
+ class files of the application.
+
+ If full is not specified or is set to "false", the
+ deployment tool must examine the class files of the
+ application for annotations, as specified by the Servlet
+ specifications.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+
</xsd:complexType>
<!-- **************************************************** -->
<xsd:sequence>
<xsd:element name="web-resource-name"
- type="j2ee:string">
+ type="javaee:string">
<xsd:annotation>
<xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="description"
- type="j2ee:descriptionType"
+ type="javaee:descriptionType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="url-pattern"
- type="j2ee:url-patternType"
+ type="javaee:url-patternType"
maxOccurs="unbounded"/>
<xsd:element name="http-method"
- type="j2ee:http-methodType"
+ type="javaee:http-methodType"
minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID"/>