| <?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="8"> |
| <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 application 8 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 Java EE namespace: |
| |
| http://xmlns.jcp.org/xml/ns/javaee |
| |
| and indicate the version of the schema by |
| using the version element as shown below: |
| |
| <application xmlns="http://xmlns.jcp.org/xml/ns/javaee" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee |
| http://xmlns.jcp.org/xml/ns/javaee/application_8.xsd" |
| version="8"> |
| ... |
| </application> |
| |
| 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/application_8.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="javaee_8.xsd"/> |
| |
| |
| <!-- **************************************************** --> |
| |
| <xsd:element name="application" |
| type="javaee:applicationType"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The application element is the root element of a Java 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="javaee:module/javaee:web"/> |
| <xsd:field xpath="javaee: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="javaee:security-role"/> |
| <xsd:field xpath="javaee: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="javaee:string" |
| minOccurs="0"/> |
| <xsd:group ref="javaee:descriptionGroup"/> |
| <xsd:element name="initialize-in-order" |
| type="javaee: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="javaee:moduleType" |
| maxOccurs="unbounded"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The application deployment descriptor must have one |
| module element for each Java 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="javaee:security-roleType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="library-directory" |
| type="javaee: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="javaee:env-entryType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="ejb-ref" |
| type="javaee:ejb-refType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="ejb-local-ref" |
| type="javaee:ejb-local-refType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:group ref="javaee:service-refGroup"/> |
| <xsd:element name="resource-ref" |
| type="javaee:resource-refType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="resource-env-ref" |
| type="javaee:resource-env-refType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="message-destination-ref" |
| type="javaee:message-destination-refType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="persistence-context-ref" |
| type="javaee:persistence-context-refType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="persistence-unit-ref" |
| type="javaee:persistence-unit-refType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="message-destination" |
| type="javaee:message-destinationType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="data-source" |
| type="javaee:data-sourceType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="jms-connection-factory" |
| type="javaee:jms-connection-factoryType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="jms-destination" |
| type="javaee:jms-destinationType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="mail-session" |
| type="javaee:mail-sessionType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="connection-factory" |
| type="javaee:connection-factory-resourceType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| <xsd:element name="administered-object" |
| type="javaee:administered-objectType" |
| minOccurs="0" |
| maxOccurs="unbounded"/> |
| </xsd:sequence> |
| <xsd:attribute name="version" |
| type="javaee:dewey-versionType" |
| fixed="8" |
| use="required"> |
| <xsd:annotation> |
| <xsd:documentation> |
| |
| The required value for the version is 8. |
| |
| </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 Java 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="javaee: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="javaee: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="javaee: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="javaee:webType"/> |
| </xsd:choice> |
| <xsd:element name="alt-dd" |
| type="javaee: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 Java 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="javaee: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="javaee: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> |