| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Copyright (c) 2009, 2021 Oracle and/or its affiliates and others. |
| All rights reserved. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License v. 2.0, which is available at |
| http://www.eclipse.org/legal/epl-2.0. |
| |
| This Source Code may also be made available under the following Secondary |
| Licenses when the conditions for such availability set forth in the |
| Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| version 2 with the GNU Classpath Exception, which is available at |
| https://www.gnu.org/software/classpath/license.html. |
| |
| SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| |
| --> |
| |
| <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" |
| targetNamespace="https://jakarta.ee/xml/ns/jakartaee" |
| xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee" |
| xmlns:xsd="http://www.w3.org/2001/XMLSchema" |
| elementFormDefault="qualified" |
| attributeFormDefault="unqualified" |
| version="6.0"> |
| |
| <xsd:annotation> |
| <xsd:documentation> |
| <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/> |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:annotation> |
| <xsd:documentation> |
| <![CDATA[ |
| |
| This is the XML Schema for the Servlet 6.0 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 Jakarta EE |
| namespace: |
| |
| https://jakarta.ee/xml/ns/jakartaee |
| |
| and by indicating the version of the schema by |
| using the version element as shown below: |
| |
| <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="..." |
| version="6.0"> |
| ... |
| </web-app> |
| |
| The instance documents may indicate the published version of |
| the schema using the xsi:schemaLocation attribute for Jakarta EE |
| namespace with the following location: |
| |
| https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:annotation> |
| <xsd:documentation> |
| <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/> |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:include schemaLocation="web-common_6_0.xsd"/> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:element name="web-app" type="jakartaee: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="jakartaee:servlet"/> |
| <xsd:field xpath="jakartaee: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="jakartaee:filter"/> |
| <xsd:field xpath="jakartaee: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 |
| enterprise bean reference. The enterprise |
| bean 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="jakartaee:ejb-local-ref"/> |
| <xsd:field xpath="jakartaee: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 |
| enterprise bean reference. The enterprise bean |
| 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="jakartaee:ejb-ref"/> |
| <xsd:field xpath="jakartaee: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="jakartaee:resource-env-ref"/> |
| <xsd:field xpath="jakartaee: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="jakartaee:message-destination-ref"/> |
| <xsd:field xpath="jakartaee: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="jakartaee:resource-ref"/> |
| <xsd:field xpath="jakartaee: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="jakartaee:env-entry"/> |
| <xsd:field xpath="jakartaee: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="jakartaee:security-role"/> |
| <xsd:field xpath="jakartaee:role-name"/> |
| </xsd:key> |
| |
| <xsd:keyref name="web-common-role-name-references" |
| refer="jakartaee: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="jakartaee:servlet/jakartaee:security-role-ref"/> |
| <xsd:field xpath="jakartaee:role-link"/> |
| </xsd:keyref> |
| </xsd:element> |
| |
| <!-- **************************************************** --> |
| |
| <xsd:complexType name="web-appType"> |
| <xsd:choice minOccurs="0" |
| maxOccurs="unbounded"> |
| <xsd:element name="module-name" |
| type="jakartaee:string" |
| minOccurs="0"/> |
| <xsd:group ref="jakartaee:web-commonType"/> |
| <xsd:element name="default-context-path" type="jakartaee:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| When specified, this element provides a default context path |
| of the web application. An empty value for this element must cause |
| the web application to be deployed at the root for the container. |
| Otherwise, the default context path must start with |
| a "/" character but not end with a "/" character. |
| Servlet containers may provide vendor specific configuration |
| options that allows specifying a value that overrides the value |
| specified here. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="request-character-encoding" type="jakartaee:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| When specified, this element provides a default request |
| character encoding of the web application. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="response-character-encoding" type="jakartaee:string"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| When specified, this element provides a default response |
| character encoding of the web application. |
| |
| </xsd:documentation> |
| </xsd:annotation> |
| </xsd:element> |
| <xsd:element name="deny-uncovered-http-methods" type="jakartaee: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-constrant, 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="jakartaee:absoluteOrderingType"/> |
| </xsd:choice> |
| <xsd:attributeGroup ref="jakartaee: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="jakartaee:java-identifierType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="others" |
| type="jakartaee:ordering-othersType" |
| minOccurs="0" |
| maxOccurs="1"/> |
| </xsd:choice> |
| </xsd:complexType> |
| |
| </xsd:schema> |