317 lines
12 KiB
XML
317 lines
12 KiB
XML
|
<?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="5.0">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
Copyright (c) 2009, 2020 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 5.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="5.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_5_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_5_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>
|