391 lines
14 KiB
XML
391 lines
14 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="9">
|
||
|
<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 application 9 deployment
|
||
|
descriptor. The deployment descriptor must be named
|
||
|
"META-INF/application.xml" in the application's ear file.
|
||
|
All application deployment descriptors must indicate
|
||
|
the application schema by using the Jakarta EE namespace:
|
||
|
|
||
|
https://jakarta.ee/xml/ns/jakartaee
|
||
|
|
||
|
and indicate the version of the schema by
|
||
|
using the version element as shown below:
|
||
|
|
||
|
<application xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||
|
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
|
||
|
https://jakarta.ee/xml/ns/jakartaee/application_9.xsd"
|
||
|
version="9">
|
||
|
...
|
||
|
</application>
|
||
|
|
||
|
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/application_9.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="jakartaee_9.xsd"/>
|
||
|
|
||
|
|
||
|
<!-- **************************************************** -->
|
||
|
|
||
|
<xsd:element name="application"
|
||
|
type="jakartaee:applicationType">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The application element is the root element of a Jakarta EE
|
||
|
application deployment descriptor.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
<xsd:unique name="context-root-uniqueness">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The context-root element content must be unique
|
||
|
in the ear.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
<xsd:selector xpath="jakartaee:module/jakartaee:web"/>
|
||
|
<xsd:field xpath="jakartaee:context-root"/>
|
||
|
</xsd:unique>
|
||
|
<xsd:unique name="security-role-uniqueness">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The security-role-name element content
|
||
|
must be unique in the ear.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
<xsd:selector xpath="jakartaee:security-role"/>
|
||
|
<xsd:field xpath="jakartaee:role-name"/>
|
||
|
</xsd:unique>
|
||
|
</xsd:element>
|
||
|
|
||
|
|
||
|
<!-- **************************************************** -->
|
||
|
|
||
|
<xsd:complexType name="applicationType">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The applicationType defines the structure of the
|
||
|
application.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="application-name"
|
||
|
type="jakartaee:string"
|
||
|
minOccurs="0"/>
|
||
|
<xsd:group ref="jakartaee:descriptionGroup"/>
|
||
|
<xsd:element name="initialize-in-order"
|
||
|
type="jakartaee:generic-booleanType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="1">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
If initialize-in-order is true, modules must be initialized
|
||
|
in the order they're listed in this deployment descriptor,
|
||
|
with the exception of application client modules, which can
|
||
|
be initialized in any order.
|
||
|
If initialize-in-order is not set or set to false, the order
|
||
|
of initialization is unspecified and may be product-dependent.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="module"
|
||
|
type="jakartaee:moduleType"
|
||
|
maxOccurs="unbounded">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The application deployment descriptor must have one
|
||
|
module element for each Jakarta EE module in the
|
||
|
application package. A module element is defined
|
||
|
by moduleType definition.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="security-role"
|
||
|
type="jakartaee:security-roleType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="library-directory"
|
||
|
type="jakartaee:pathType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="1">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The library-directory element specifies the pathname
|
||
|
of a directory within the application package, relative
|
||
|
to the top level of the application package. All files
|
||
|
named "*.jar" in this directory must be made available
|
||
|
in the class path of all components included in this
|
||
|
application package. If this element isn't specified,
|
||
|
the directory named "lib" is searched. An empty element
|
||
|
may be used to disable searching.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="env-entry"
|
||
|
type="jakartaee:env-entryType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="ejb-ref"
|
||
|
type="jakartaee:ejb-refType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="ejb-local-ref"
|
||
|
type="jakartaee:ejb-local-refType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:group ref="jakartaee:service-refGroup"/>
|
||
|
<xsd:element name="resource-ref"
|
||
|
type="jakartaee:resource-refType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="resource-env-ref"
|
||
|
type="jakartaee:resource-env-refType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="message-destination-ref"
|
||
|
type="jakartaee:message-destination-refType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="persistence-context-ref"
|
||
|
type="jakartaee:persistence-context-refType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="persistence-unit-ref"
|
||
|
type="jakartaee:persistence-unit-refType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="message-destination"
|
||
|
type="jakartaee:message-destinationType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="data-source"
|
||
|
type="jakartaee:data-sourceType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="jms-connection-factory"
|
||
|
type="jakartaee:jms-connection-factoryType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="jms-destination"
|
||
|
type="jakartaee:jms-destinationType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="mail-session"
|
||
|
type="jakartaee:mail-sessionType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="connection-factory"
|
||
|
type="jakartaee:connection-factory-resourceType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
<xsd:element name="administered-object"
|
||
|
type="jakartaee:administered-objectType"
|
||
|
minOccurs="0"
|
||
|
maxOccurs="unbounded"/>
|
||
|
</xsd:sequence>
|
||
|
<xsd:attribute name="version"
|
||
|
type="jakartaee:dewey-versionType"
|
||
|
fixed="9"
|
||
|
use="required">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The required value for the version is 9.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:attribute>
|
||
|
<xsd:attribute name="id"
|
||
|
type="xsd:ID"/>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
|
||
|
<!-- **************************************************** -->
|
||
|
|
||
|
<xsd:complexType name="moduleType">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The moduleType defines a single Jakarta EE module and contains a
|
||
|
connector, ejb, java, or web element, which indicates the
|
||
|
module type and contains a path to the module file, and an
|
||
|
optional alt-dd element, which specifies an optional URI to
|
||
|
the post-assembly version of the deployment descriptor.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
<xsd:sequence>
|
||
|
<xsd:choice>
|
||
|
<xsd:element name="connector"
|
||
|
type="jakartaee:pathType">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The connector element specifies the URI of a
|
||
|
resource adapter archive file, relative to the
|
||
|
top level of the application package.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="ejb"
|
||
|
type="jakartaee:pathType">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The ejb element specifies the URI of an ejb-jar,
|
||
|
relative to the top level of the application
|
||
|
package.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="java"
|
||
|
type="jakartaee:pathType">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The java element specifies the URI of a java
|
||
|
application client module, relative to the top
|
||
|
level of the application package.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="web"
|
||
|
type="jakartaee:webType"/>
|
||
|
</xsd:choice>
|
||
|
<xsd:element name="alt-dd"
|
||
|
type="jakartaee:pathType"
|
||
|
minOccurs="0">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The alt-dd element specifies an optional URI to the
|
||
|
post-assembly version of the deployment descriptor
|
||
|
file for a particular Jakarta EE module. The URI must
|
||
|
specify the full pathname of the deployment
|
||
|
descriptor file relative to the application's root
|
||
|
directory. If alt-dd is not specified, the deployer
|
||
|
must read the deployment descriptor from the default
|
||
|
location and file name required by the respective
|
||
|
component specification.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
<xsd:attribute name="id"
|
||
|
type="xsd:ID"/>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
|
||
|
<!-- **************************************************** -->
|
||
|
|
||
|
<xsd:complexType name="webType">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The webType defines the web-uri and context-root of
|
||
|
a web application module.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
<xsd:sequence>
|
||
|
<xsd:element name="web-uri"
|
||
|
type="jakartaee:pathType">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The web-uri element specifies the URI of a web
|
||
|
application file, relative to the top level of the
|
||
|
application package.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
<xsd:element name="context-root"
|
||
|
type="jakartaee:string">
|
||
|
<xsd:annotation>
|
||
|
<xsd:documentation>
|
||
|
|
||
|
The context-root element specifies the context root
|
||
|
of a web application.
|
||
|
|
||
|
</xsd:documentation>
|
||
|
</xsd:annotation>
|
||
|
</xsd:element>
|
||
|
</xsd:sequence>
|
||
|
<xsd:attribute name="id"
|
||
|
type="xsd:ID"/>
|
||
|
</xsd:complexType>
|
||
|
|
||
|
</xsd:schema>
|