| <?xml version="1.0" encoding="UTF-8"?> |
| <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> |
| |
| Copyright (c) 2009, 2021 Oracle and/or its affiliates. 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: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 "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 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-fragment xmlns="https://jakarta.ee/xml/ns/jakartaee" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="..." |
| version="6.0"> |
| ... |
| </web-fragment> |
| |
| 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-fragment_6_0.xsd |
| |
| ]]> |
| </xsd:documentation> |
| </xsd:annotation> |
| |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The following conventions apply to all Jakarta 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_6_0.xsd"/> |
| |
| |
| <!-- **************************************************** --> |
| |
| <xsd:element name="web-fragment" |
| type="jakartaee: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="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-fragmentType"> |
| <xsd:choice minOccurs="0" |
| maxOccurs="unbounded"> |
| <xsd:element name="name" |
| type="jakartaee:java-identifierType"/> |
| <xsd:group ref="jakartaee:web-commonType"/> |
| <xsd:element name="ordering" |
| type="jakartaee:orderingType"/> |
| </xsd:choice> |
| <xsd:attributeGroup ref="jakartaee: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="jakartaee:ordering-orderingType" |
| minOccurs="0" |
| maxOccurs="1"/> |
| <xsd:element name="before" |
| type="jakartaee: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="jakartaee:java-identifierType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="others" |
| type="jakartaee:ordering-othersType" |
| minOccurs="0" |
| maxOccurs="1"/> |
| </xsd:sequence> |
| </xsd:complexType> |
| |
| </xsd:schema> |