| <?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="4.0"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. |
| |
| Copyright (c) 2009-2017 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> |
| <![CDATA[ |
| This is the XML Schema for the Servlet 4.0 deployment descriptor. |
| The deployment descriptor must be named "META-INF/web-fragment.xml" |
| in the web fragment's jar 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-fragment xmlns="http://xmlns.jcp.org/xml/ns/javaee" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="..." |
| version="4.0"> |
| ... |
| </web-fragment> |
| |
| 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-fragment_4_0.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_4_0.xsd"/> |
| |
| |
| <!-- **************************************************** --> |
| |
| <xsd:element name="web-fragment" |
| type="javaee:web-fragmentType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The web-fragment element is the root of the deployment |
| descriptor for a web fragment. 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-fragmentType"> |
| <xsd:choice minOccurs="0" |
| maxOccurs="unbounded"> |
| <xsd:element name="name" |
| type="javaee:java-identifierType"/> |
| <xsd:group ref="javaee:web-commonType"/> |
| <xsd:element name="ordering" |
| type="javaee:orderingType"/> |
| </xsd:choice> |
| <xsd:attributeGroup ref="javaee:web-common-attributes"/> |
| </xsd:complexType> |
| |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="orderingType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| Please see section 8.2.2 of the specification for details. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <xsd:element name="after" |
| type="javaee:ordering-orderingType" |
| minOccurs="0" |
| maxOccurs="1"/> |
| <xsd:element name="before" |
| type="javaee:ordering-orderingType" |
| minOccurs="0" |
| maxOccurs="1"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="ordering-orderingType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| This element contains a sequence of "name" elements, each of |
| which |
| refers to an application configuration resource by the "name" |
| declared on its web.xml fragment. This element can also contain |
| a single "others" element which specifies that this document |
| comes |
| before or after other documents within the application. |
| See section 8.2.2 of the specification for details. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| <xsd:sequence> |
| <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:sequence> |
| </xsd:complexType> |
| |
| </xsd:schema> |