|  | <?xml version="1.0" encoding="UTF-8"?> | 
|  | <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" | 
|  | targetNamespace="http://xmlns.jcp.org/xml/ns/javaee" | 
|  | xmlns:javaee="http://xmlns.jcp.org/xml/ns/javaee" | 
|  | xmlns:xsd="http://www.w3.org/2001/XMLSchema" | 
|  | elementFormDefault="qualified" | 
|  | attributeFormDefault="unqualified" | 
|  | version="3.1"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. | 
|  |  | 
|  | Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved. | 
|  |  | 
|  | The contents of this file are subject to the terms of either the GNU | 
|  | General Public License Version 2 only ("GPL") or the Common Development | 
|  | and Distribution License("CDDL") (collectively, the "License").  You | 
|  | may not use this file except in compliance with the License.  You can | 
|  | obtain a copy of the License at | 
|  | https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html | 
|  | or packager/legal/LICENSE.txt.  See the License for the specific | 
|  | language governing permissions and limitations under the License. | 
|  |  | 
|  | When distributing the software, include this License Header Notice in each | 
|  | file and include the License file at packager/legal/LICENSE.txt. | 
|  |  | 
|  | GPL Classpath Exception: | 
|  | Oracle designates this particular file as subject to the "Classpath" | 
|  | exception as provided by Oracle in the GPL Version 2 section of the License | 
|  | file that accompanied this code. | 
|  |  | 
|  | Modifications: | 
|  | If applicable, add the following below the License Header, with the fields | 
|  | enclosed by brackets [] replaced by your own identifying information: | 
|  | "Portions Copyright [year] [name of copyright owner]" | 
|  |  | 
|  | Contributor(s): | 
|  | If you wish your version of this file to be governed by only the CDDL or | 
|  | only the GPL Version 2, indicate your decision by adding "[Contributor] | 
|  | elects to include this software in this distribution under the [CDDL or GPL | 
|  | Version 2] license."  If you don't indicate a single choice of license, a | 
|  | recipient has the option to distribute your version of this file under | 
|  | either the CDDL, the GPL Version 2 or to extend the choice of license to | 
|  | its licensees as provided above.  However, if you add GPL Version 2 code | 
|  | and therefore, elected the GPL Version 2 license, then the option applies | 
|  | only if the new code is made subject to such option by the copyright | 
|  | holder. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  |  | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  | The Apache Software Foundation elects to include this software under the | 
|  | CDDL license. | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  |  | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  | <![CDATA[[ | 
|  | This is the XML Schema for the Servlet 3.1 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 Java EE | 
|  | namespace: | 
|  |  | 
|  | http://xmlns.jcp.org/xml/ns/javaee | 
|  |  | 
|  | and by indicating the version of the schema by | 
|  | using the version element as shown below: | 
|  |  | 
|  | <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" | 
|  | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | 
|  | xsi:schemaLocation="..." | 
|  | version="3.1"> | 
|  | ... | 
|  | </web-app> | 
|  |  | 
|  | The instance documents may indicate the published version of | 
|  | the schema using the xsi:schemaLocation attribute for Java EE | 
|  | namespace with the following location: | 
|  |  | 
|  | http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd | 
|  |  | 
|  | ]]> | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  |  | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | 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 | 
|  | same JAR file, relative filenames (i.e., those not | 
|  | starting with "/") are considered relative to the root of | 
|  | the JAR file's namespace.  Absolute filenames (i.e., those | 
|  | starting with "/") also specify names in the root of the | 
|  | JAR file's namespace.  In general, relative names are | 
|  | preferred.  The exception is .war files where absolute | 
|  | names are preferred for consistency with the Servlet API. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  |  | 
|  | <xsd:include schemaLocation="web-common_3_1.xsd"/> | 
|  |  | 
|  |  | 
|  | <!-- **************************************************** --> | 
|  |  | 
|  | <xsd:element name="web-app" | 
|  | type="javaee:web-appType"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The web-app element is the root of the deployment | 
|  | descriptor for a web application.  Note that the sub-elements | 
|  | of this element can be in the arbitrary order. Because of | 
|  | that, the multiplicity of the elements of distributable, | 
|  | session-config, welcome-file-list, jsp-config, login-config, | 
|  | and locale-encoding-mapping-list was changed from "?" to "*" | 
|  | in this schema.  However, the deployment descriptor instance | 
|  | 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 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:unique name="web-common-servlet-name-uniqueness"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The servlet element contains the name of a servlet. | 
|  | The name must be unique within the web application. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:servlet"/> | 
|  | <xsd:field xpath="javaee:servlet-name"/> | 
|  | </xsd:unique> | 
|  | <xsd:unique name="web-common-filter-name-uniqueness"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The filter element contains the name of a filter. | 
|  | The name must be unique within the web application. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:filter"/> | 
|  | <xsd:field xpath="javaee:filter-name"/> | 
|  | </xsd:unique> | 
|  | <xsd:unique name="web-common-ejb-local-ref-name-uniqueness"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The ejb-local-ref-name element contains the name of an EJB | 
|  | reference. The EJB reference is an entry in the web | 
|  | application's environment and is relative to the | 
|  | java:comp/env context.  The name must be unique within | 
|  | the web application. | 
|  |  | 
|  | It is recommended that name is prefixed with "ejb/". | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:ejb-local-ref"/> | 
|  | <xsd:field xpath="javaee:ejb-ref-name"/> | 
|  | </xsd:unique> | 
|  | <xsd:unique name="web-common-ejb-ref-name-uniqueness"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The ejb-ref-name element contains the name of an EJB | 
|  | reference. The EJB reference is an entry in the web | 
|  | application's environment and is relative to the | 
|  | java:comp/env context.  The name must be unique within | 
|  | the web application. | 
|  |  | 
|  | It is recommended that name is prefixed with "ejb/". | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:ejb-ref"/> | 
|  | <xsd:field xpath="javaee:ejb-ref-name"/> | 
|  | </xsd:unique> | 
|  | <xsd:unique name="web-common-resource-env-ref-uniqueness"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The resource-env-ref-name element specifies the name of | 
|  | a resource environment reference; its value is the | 
|  | environment entry name used in the web application code. | 
|  | The name is a JNDI name relative to the java:comp/env | 
|  | context and must be unique within a web application. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:resource-env-ref"/> | 
|  | <xsd:field xpath="javaee:resource-env-ref-name"/> | 
|  | </xsd:unique> | 
|  | <xsd:unique name="web-common-message-destination-ref-uniqueness"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The message-destination-ref-name element specifies the name of | 
|  | a message destination reference; its value is the | 
|  | environment entry name used in the web application code. | 
|  | The name is a JNDI name relative to the java:comp/env | 
|  | context and must be unique within a web application. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:message-destination-ref"/> | 
|  | <xsd:field xpath="javaee:message-destination-ref-name"/> | 
|  | </xsd:unique> | 
|  | <xsd:unique name="web-common-res-ref-name-uniqueness"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The res-ref-name element specifies the name of a | 
|  | resource manager connection factory reference.  The name | 
|  | is a JNDI name relative to the java:comp/env context. | 
|  | The name must be unique within a web application. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:resource-ref"/> | 
|  | <xsd:field xpath="javaee:res-ref-name"/> | 
|  | </xsd:unique> | 
|  | <xsd:unique name="web-common-env-entry-name-uniqueness"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The env-entry-name element contains the name of a web | 
|  | application's environment entry.  The name is a JNDI | 
|  | name relative to the java:comp/env context.  The name | 
|  | must be unique within a web application. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:env-entry"/> | 
|  | <xsd:field xpath="javaee:env-entry-name"/> | 
|  | </xsd:unique> | 
|  | <xsd:key name="web-common-role-name-key"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | A role-name-key is specified to allow the references | 
|  | from the security-role-refs. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:security-role"/> | 
|  | <xsd:field xpath="javaee:role-name"/> | 
|  | </xsd:key> | 
|  | <xsd:keyref name="web-common-role-name-references" | 
|  | refer="javaee:web-common-role-name-key"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | The keyref indicates the references from | 
|  | security-role-ref to a specified role-name. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:selector xpath="javaee:servlet/javaee:security-role-ref"/> | 
|  | <xsd:field xpath="javaee:role-link"/> | 
|  | </xsd:keyref> | 
|  | </xsd:element> | 
|  |  | 
|  |  | 
|  | <!-- **************************************************** --> | 
|  |  | 
|  | <xsd:complexType name="web-appType"> | 
|  | <xsd:choice minOccurs="0" | 
|  | maxOccurs="unbounded"> | 
|  | <xsd:element name="module-name" | 
|  | type="javaee:string" | 
|  | minOccurs="0"/> | 
|  | <xsd:group ref="javaee:web-commonType"/> | 
|  | <xsd:element name="deny-uncovered-http-methods" | 
|  | type="javaee:emptyType"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | When specified, this element causes uncovered http methods | 
|  | to be denied. For every url-pattern that is the target of a | 
|  | security-constraint, this element causes all HTTP methods that | 
|  | are NOT covered (by a security constraint) at the url-pattern | 
|  | to be denied. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | </xsd:element> | 
|  | <xsd:element name="absolute-ordering" | 
|  | type="javaee:absoluteOrderingType"/> | 
|  | </xsd:choice> | 
|  | <xsd:attributeGroup ref="javaee:web-common-attributes"/> | 
|  | </xsd:complexType> | 
|  |  | 
|  |  | 
|  | <!-- **************************************************** --> | 
|  |  | 
|  | <xsd:complexType name="absoluteOrderingType"> | 
|  | <xsd:annotation> | 
|  | <xsd:documentation> | 
|  |  | 
|  | Please see section 8.2.2 of the specification for details. | 
|  |  | 
|  | </xsd:documentation> | 
|  | </xsd:annotation> | 
|  | <xsd:choice minOccurs="0" | 
|  | maxOccurs="unbounded"> | 
|  | <xsd:element name="name" | 
|  | type="javaee:java-identifierType" | 
|  | minOccurs="0" | 
|  | maxOccurs="unbounded"/> | 
|  | <xsd:element name="others" | 
|  | type="javaee:ordering-othersType" | 
|  | minOccurs="0" | 
|  | maxOccurs="1"/> | 
|  | </xsd:choice> | 
|  | </xsd:complexType> | 
|  |  | 
|  | </xsd:schema> |