Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 399524 | Differences between
and this patch

Collapse All | Expand All

(-)a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/application-client_7.xsd (+327 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
3
            targetNamespace="http://java.sun.com/xml/ns/javaee"
4
            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
5
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
            elementFormDefault="qualified"
7
            attributeFormDefault="unqualified"
8
            version="7">
9
  <xsd:annotation>
10
    <xsd:documentation>
11
12
      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
      
14
      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
15
      
16
      The contents of this file are subject to the terms of either the GNU
17
      General Public License Version 2 only ("GPL") or the Common Development
18
      and Distribution License("CDDL") (collectively, the "License").  You
19
      may not use this file except in compliance with the License.  You can
20
      obtain a copy of the License at
21
      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
22
      or packager/legal/LICENSE.txt.  See the License for the specific
23
      language governing permissions and limitations under the License.
24
      
25
      When distributing the software, include this License Header Notice in each
26
      file and include the License file at packager/legal/LICENSE.txt.
27
      
28
      GPL Classpath Exception:
29
      Oracle designates this particular file as subject to the "Classpath"
30
      exception as provided by Oracle in the GPL Version 2 section of the License
31
      file that accompanied this code.
32
      
33
      Modifications:
34
      If applicable, add the following below the License Header, with the fields
35
      enclosed by brackets [] replaced by your own identifying information:
36
      "Portions Copyright [year] [name of copyright owner]"
37
      
38
      Contributor(s):
39
      If you wish your version of this file to be governed by only the CDDL or
40
      only the GPL Version 2, indicate your decision by adding "[Contributor]
41
      elects to include this software in this distribution under the [CDDL or GPL
42
      Version 2] license."  If you don't indicate a single choice of license, a
43
      recipient has the option to distribute your version of this file under
44
      either the CDDL, the GPL Version 2 or to extend the choice of license to
45
      its licensees as provided above.  However, if you add GPL Version 2 code
46
      and therefore, elected the GPL Version 2 license, then the option applies
47
      only if the new code is made subject to such option by the copyright
48
      holder.
49
      
50
    </xsd:documentation>
51
  </xsd:annotation>
52
53
  <xsd:annotation>
54
    <xsd:documentation>
55
      <![CDATA[[
56
      This is the XML Schema for the application client 7
57
      deployment descriptor.  The deployment descriptor must
58
      be named "META-INF/application-client.xml" in the
59
      application client's jar file.  All application client
60
      deployment descriptors must indicate the application
61
      client schema by using the Java EE namespace:
62
      
63
      http://java.sun.com/xml/ns/javaee
64
      
65
      and indicate the version of the schema by
66
      using the version element as shown below:
67
      
68
      <application-client xmlns="http://java.sun.com/xml/ns/javaee"
69
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
70
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
71
      	http://java.sun.com/xml/ns/javaee/application-client_7.xsd"
72
      version="7">
73
      ...
74
      </application-client>
75
      
76
      The instance documents may indicate the published version of
77
      the schema using the xsi:schemaLocation attribute for Java EE
78
      namespace with the following location:
79
      
80
      http://java.sun.com/xml/ns/javaee/application-client_7.xsd
81
      
82
      ]]>
83
    </xsd:documentation>
84
  </xsd:annotation>
85
86
  <xsd:annotation>
87
    <xsd:documentation>
88
89
      The following conventions apply to all Java EE
90
      deployment descriptor elements unless indicated otherwise.
91
      
92
      - In elements that specify a pathname to a file within the
93
      same JAR file, relative filenames (i.e., those not
94
      starting with "/") are considered relative to the root of
95
      the JAR file's namespace.  Absolute filenames (i.e., those
96
      starting with "/") also specify names in the root of the
97
      JAR file's namespace.  In general, relative names are
98
      preferred.  The exception is .war files where absolute
99
      names are preferred for consistency with the Servlet API.
100
      
101
    </xsd:documentation>
102
  </xsd:annotation>
103
104
  <xsd:include schemaLocation="javaee_7.xsd"/>
105
106
107
<!-- **************************************************** -->
108
109
  <xsd:element name="application-client"
110
               type="javaee:application-clientType">
111
    <xsd:annotation>
112
      <xsd:documentation>
113
114
        The application-client element is the root element of an
115
        application client deployment descriptor.  The application
116
        client deployment descriptor describes the EJB components
117
        and external resources referenced by the application
118
        client.
119
        
120
      </xsd:documentation>
121
    </xsd:annotation>
122
    <xsd:unique name="env-entry-name-uniqueness">
123
      <xsd:annotation>
124
        <xsd:documentation>
125
126
          The env-entry-name element contains the name of an
127
          application client's environment entry.  The name is a JNDI
128
          name relative to the java:comp/env context.  The name must
129
          be unique within an application client.
130
          
131
        </xsd:documentation>
132
      </xsd:annotation>
133
      <xsd:selector xpath="javaee:env-entry"/>
134
      <xsd:field xpath="javaee:env-entry-name"/>
135
    </xsd:unique>
136
    <xsd:unique name="ejb-ref-name-uniqueness">
137
      <xsd:annotation>
138
        <xsd:documentation>
139
140
          The ejb-ref-name element contains the name of an EJB
141
          reference. The EJB reference is an entry in the application
142
          client's environment and is relative to the
143
          java:comp/env context. The name must be unique within the
144
          application client.
145
          
146
          It is recommended that name is prefixed with "ejb/".
147
          
148
        </xsd:documentation>
149
      </xsd:annotation>
150
      <xsd:selector xpath="javaee:ejb-ref"/>
151
      <xsd:field xpath="javaee:ejb-ref-name"/>
152
    </xsd:unique>
153
    <xsd:unique name="res-ref-name-uniqueness">
154
      <xsd:annotation>
155
        <xsd:documentation>
156
157
          The res-ref-name element specifies the name of a
158
          resource manager connection factory reference.The name
159
          is a JNDI name relative to the java:comp/env context.
160
          The name must be unique within an application client.
161
          
162
        </xsd:documentation>
163
      </xsd:annotation>
164
      <xsd:selector xpath="javaee:resource-ref"/>
165
      <xsd:field xpath="javaee:res-ref-name"/>
166
    </xsd:unique>
167
    <xsd:unique name="resource-env-ref-uniqueness">
168
      <xsd:annotation>
169
        <xsd:documentation>
170
171
          The resource-env-ref-name element specifies the name of
172
          a resource environment reference; its value is the
173
          environment entry name used in the application client
174
          code. The name is a JNDI name relative to the
175
          java:comp/env context and must be unique within an
176
          application client.
177
          
178
        </xsd:documentation>
179
      </xsd:annotation>
180
      <xsd:selector xpath="javaee:resource-env-ref"/>
181
      <xsd:field xpath="javaee:resource-env-ref-name"/>
182
    </xsd:unique>
183
    <xsd:unique name="message-destination-ref-uniqueness">
184
      <xsd:annotation>
185
        <xsd:documentation>
186
187
          The message-destination-ref-name element specifies the
188
          name of a message destination reference; its value is
189
          the message destination reference name used in the
190
          application client code. The name is a JNDI name
191
          relative to the java:comp/env context and must be unique
192
          within an application client.
193
          
194
        </xsd:documentation>
195
      </xsd:annotation>
196
      <xsd:selector xpath="javaee:message-destination-ref"/>
197
      <xsd:field xpath="javaee:message-destination-ref-name"/>
198
    </xsd:unique>
199
  </xsd:element>
200
201
202
<!-- **************************************************** -->
203
204
  <xsd:complexType name="application-clientType">
205
    <xsd:sequence>
206
      <xsd:element name="module-name"
207
                   type="javaee:string"
208
                   minOccurs="0"/>
209
      <xsd:group ref="javaee:descriptionGroup"/>
210
      <xsd:element name="env-entry"
211
                   type="javaee:env-entryType"
212
                   minOccurs="0"
213
                   maxOccurs="unbounded"/>
214
      <xsd:element name="ejb-ref"
215
                   type="javaee:ejb-refType"
216
                   minOccurs="0"
217
                   maxOccurs="unbounded"/>
218
      <xsd:group ref="javaee:service-refGroup"/>
219
      <xsd:element name="resource-ref"
220
                   type="javaee:resource-refType"
221
                   minOccurs="0"
222
                   maxOccurs="unbounded"/>
223
      <xsd:element name="resource-env-ref"
224
                   type="javaee:resource-env-refType"
225
                   minOccurs="0"
226
                   maxOccurs="unbounded"/>
227
      <xsd:element name="message-destination-ref"
228
                   type="javaee:message-destination-refType"
229
                   minOccurs="0"
230
                   maxOccurs="unbounded"/>
231
      <xsd:element name="persistence-unit-ref"
232
                   type="javaee:persistence-unit-refType"
233
                   minOccurs="0"
234
                   maxOccurs="unbounded"/>
235
      <xsd:element name="post-construct"
236
                   type="javaee:lifecycle-callbackType"
237
                   minOccurs="0"
238
                   maxOccurs="unbounded"/>
239
      <xsd:element name="pre-destroy"
240
                   type="javaee:lifecycle-callbackType"
241
                   minOccurs="0"
242
                   maxOccurs="unbounded"/>
243
      <xsd:element name="callback-handler"
244
                   type="javaee:fully-qualified-classType"
245
                   minOccurs="0">
246
        <xsd:annotation>
247
          <xsd:documentation>
248
249
            The callback-handler element names a class provided by
250
            the application.  The class must have a no args
251
            constructor and must implement the
252
            javax.security.auth.callback.CallbackHandler
253
            interface.  The class will be instantiated by the
254
            application client container and used by the container
255
            to collect authentication information from the user.
256
            
257
          </xsd:documentation>
258
        </xsd:annotation>
259
      </xsd:element>
260
      <xsd:element name="message-destination"
261
                   type="javaee:message-destinationType"
262
                   minOccurs="0"
263
                   maxOccurs="unbounded"/>
264
      <xsd:element name="data-source"
265
                   type="javaee:data-sourceType"
266
                   minOccurs="0"
267
                   maxOccurs="unbounded"/>
268
      <xsd:element name="jms-connection-factory"
269
                   type="javaee:jms-connection-factoryType"
270
                   minOccurs="0"
271
                   maxOccurs="unbounded"/>
272
      <xsd:element name="jms-destination"
273
                   type="javaee:jms-destinationType"
274
                   minOccurs="0"
275
                   maxOccurs="unbounded"/>
276
      <xsd:element name="mail-session"
277
                   type="javaee:mail-sessionType"
278
                   minOccurs="0"
279
                   maxOccurs="unbounded"/>
280
      <xsd:element name="connector-resource"
281
                   type="javaee:connector-resourceType"
282
                   minOccurs="0"
283
                   maxOccurs="unbounded"/>
284
    </xsd:sequence>
285
    <xsd:attribute name="version"
286
                   type="javaee:dewey-versionType"
287
                   fixed="7"
288
                   use="required">
289
      <xsd:annotation>
290
        <xsd:documentation>
291
292
          The required value for the version is 7.
293
          
294
        </xsd:documentation>
295
      </xsd:annotation>
296
    </xsd:attribute>
297
    <xsd:attribute name="metadata-complete"
298
                   type="xsd:boolean">
299
      <xsd:annotation>
300
        <xsd:documentation>
301
302
          The metadata-complete attribute defines whether this
303
          deployment descriptor and other related deployment
304
          descriptors for this module (e.g., web service
305
          descriptors) are complete, or whether the class
306
          files available to this module and packaged with
307
          this application should be examined for annotations
308
          that specify deployment information.
309
          
310
          If metadata-complete is set to "true", the deployment
311
          tool must ignore any annotations that specify deployment
312
          information, which might be present in the class files
313
          of the application.
314
          
315
          If metadata-complete is not specified or is set to
316
          "false", the deployment tool must examine the class
317
          files of the application for annotations, as
318
          specified by the specifications.
319
          
320
        </xsd:documentation>
321
      </xsd:annotation>
322
    </xsd:attribute>
323
    <xsd:attribute name="id"
324
                   type="xsd:ID"/>
325
  </xsd:complexType>
326
327
</xsd:schema>
(-)a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/application_7.xsd (+414 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
3
            targetNamespace="http://java.sun.com/xml/ns/javaee"
4
            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
5
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
            elementFormDefault="qualified"
7
            attributeFormDefault="unqualified"
8
            version="7">
9
  <xsd:annotation>
10
    <xsd:documentation>
11
12
      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
      
14
      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
15
      
16
      The contents of this file are subject to the terms of either the GNU
17
      General Public License Version 2 only ("GPL") or the Common Development
18
      and Distribution License("CDDL") (collectively, the "License").  You
19
      may not use this file except in compliance with the License.  You can
20
      obtain a copy of the License at
21
      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
22
      or packager/legal/LICENSE.txt.  See the License for the specific
23
      language governing permissions and limitations under the License.
24
      
25
      When distributing the software, include this License Header Notice in each
26
      file and include the License file at packager/legal/LICENSE.txt.
27
      
28
      GPL Classpath Exception:
29
      Oracle designates this particular file as subject to the "Classpath"
30
      exception as provided by Oracle in the GPL Version 2 section of the License
31
      file that accompanied this code.
32
      
33
      Modifications:
34
      If applicable, add the following below the License Header, with the fields
35
      enclosed by brackets [] replaced by your own identifying information:
36
      "Portions Copyright [year] [name of copyright owner]"
37
      
38
      Contributor(s):
39
      If you wish your version of this file to be governed by only the CDDL or
40
      only the GPL Version 2, indicate your decision by adding "[Contributor]
41
      elects to include this software in this distribution under the [CDDL or GPL
42
      Version 2] license."  If you don't indicate a single choice of license, a
43
      recipient has the option to distribute your version of this file under
44
      either the CDDL, the GPL Version 2 or to extend the choice of license to
45
      its licensees as provided above.  However, if you add GPL Version 2 code
46
      and therefore, elected the GPL Version 2 license, then the option applies
47
      only if the new code is made subject to such option by the copyright
48
      holder.
49
      
50
    </xsd:documentation>
51
  </xsd:annotation>
52
53
  <xsd:annotation>
54
    <xsd:documentation>
55
      <![CDATA[[
56
      This is the XML Schema for the application 7 deployment
57
      descriptor.  The deployment descriptor must be named
58
      "META-INF/application.xml" in the application's ear file.
59
      All application deployment descriptors must indicate
60
      the application schema by using the Java EE namespace:
61
      
62
      http://java.sun.com/xml/ns/javaee
63
      
64
      and indicate the version of the schema by
65
      using the version element as shown below:
66
      
67
      <application xmlns="http://java.sun.com/xml/ns/javaee"
68
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
69
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
70
      	http://java.sun.com/xml/ns/javaee/application_7.xsd"
71
      version="7">
72
      ...
73
      </application>
74
      
75
      The instance documents may indicate the published version of
76
      the schema using the xsi:schemaLocation attribute for Java EE
77
      namespace with the following location:
78
      
79
      http://java.sun.com/xml/ns/javaee/application_7.xsd
80
      
81
      ]]>
82
    </xsd:documentation>
83
  </xsd:annotation>
84
85
  <xsd:annotation>
86
    <xsd:documentation>
87
88
      The following conventions apply to all Java EE
89
      deployment descriptor elements unless indicated otherwise.
90
      
91
      - In elements that specify a pathname to a file within the
92
      same JAR file, relative filenames (i.e., those not
93
      starting with "/") are considered relative to the root of
94
      the JAR file's namespace.  Absolute filenames (i.e., those
95
      starting with "/") also specify names in the root of the
96
      JAR file's namespace.  In general, relative names are
97
      preferred.  The exception is .war files where absolute
98
      names are preferred for consistency with the Servlet API.
99
      
100
    </xsd:documentation>
101
  </xsd:annotation>
102
103
  <xsd:include schemaLocation="javaee_7.xsd"/>
104
105
106
<!-- **************************************************** -->
107
108
  <xsd:element name="application"
109
               type="javaee:applicationType">
110
    <xsd:annotation>
111
      <xsd:documentation>
112
113
        The application element is the root element of a Java EE
114
        application deployment descriptor.
115
        
116
      </xsd:documentation>
117
    </xsd:annotation>
118
    <xsd:unique name="context-root-uniqueness">
119
      <xsd:annotation>
120
        <xsd:documentation>
121
122
          The context-root element content must be unique
123
          in the ear. 
124
          
125
        </xsd:documentation>
126
      </xsd:annotation>
127
      <xsd:selector xpath="javaee:module/javaee:web"/>
128
      <xsd:field xpath="javaee:context-root"/>
129
    </xsd:unique>
130
    <xsd:unique name="security-role-uniqueness">
131
      <xsd:annotation>
132
        <xsd:documentation>
133
134
          The security-role-name element content
135
          must be unique in the ear.  
136
          
137
        </xsd:documentation>
138
      </xsd:annotation>
139
      <xsd:selector xpath="javaee:security-role"/>
140
      <xsd:field xpath="javaee:role-name"/>
141
    </xsd:unique>
142
  </xsd:element>
143
144
145
<!-- **************************************************** -->
146
147
  <xsd:complexType name="applicationType">
148
    <xsd:annotation>
149
      <xsd:documentation>
150
151
        The applicationType defines the structure of the
152
        application. 
153
        
154
      </xsd:documentation>
155
    </xsd:annotation>
156
    <xsd:sequence>
157
      <xsd:element name="application-name"
158
                   type="javaee:string"
159
                   minOccurs="0"/>
160
      <xsd:group ref="javaee:descriptionGroup"/>
161
      <xsd:element name="initialize-in-order"
162
                   type="javaee:generic-booleanType"
163
                   minOccurs="0"
164
                   maxOccurs="1">
165
        <xsd:annotation>
166
          <xsd:documentation>
167
168
            If initialize-in-order is true, modules must be initialized
169
            in the order they're listed in this deployment descriptor,
170
            with the exception of application client modules, which can
171
            be initialized in any order.
172
            If initialize-in-order is not set or set to false, the order
173
            of initialization is unspecified and may be product-dependent.
174
            
175
          </xsd:documentation>
176
        </xsd:annotation>
177
      </xsd:element>
178
      <xsd:element name="module"
179
                   type="javaee:moduleType"
180
                   maxOccurs="unbounded">
181
        <xsd:annotation>
182
          <xsd:documentation>
183
184
            The application deployment descriptor must have one
185
            module element for each Java EE module in the
186
            application package. A module element is defined 
187
            by moduleType definition. 
188
            
189
          </xsd:documentation>
190
        </xsd:annotation>
191
      </xsd:element>
192
      <xsd:element name="security-role"
193
                   type="javaee:security-roleType"
194
                   minOccurs="0"
195
                   maxOccurs="unbounded"/>
196
      <xsd:element name="library-directory"
197
                   type="javaee:pathType"
198
                   minOccurs="0"
199
                   maxOccurs="1">
200
        <xsd:annotation>
201
          <xsd:documentation>
202
203
            The library-directory element specifies the pathname
204
            of a directory within the application package, relative
205
            to the top level of the application package.  All files
206
            named "*.jar" in this directory must be made available
207
            in the class path of all components included in this
208
            application package.  If this element isn't specified,
209
            the directory named "lib" is searched.  An empty element
210
            may be used to disable searching.
211
            
212
          </xsd:documentation>
213
        </xsd:annotation>
214
      </xsd:element>
215
      <xsd:element name="env-entry"
216
                   type="javaee:env-entryType"
217
                   minOccurs="0"
218
                   maxOccurs="unbounded"/>
219
      <xsd:element name="ejb-ref"
220
                   type="javaee:ejb-refType"
221
                   minOccurs="0"
222
                   maxOccurs="unbounded"/>
223
      <xsd:element name="ejb-local-ref"
224
                   type="javaee:ejb-local-refType"
225
                   minOccurs="0"
226
                   maxOccurs="unbounded"/>
227
      <xsd:group ref="javaee:service-refGroup"/>
228
      <xsd:element name="resource-ref"
229
                   type="javaee:resource-refType"
230
                   minOccurs="0"
231
                   maxOccurs="unbounded"/>
232
      <xsd:element name="resource-env-ref"
233
                   type="javaee:resource-env-refType"
234
                   minOccurs="0"
235
                   maxOccurs="unbounded"/>
236
      <xsd:element name="message-destination-ref"
237
                   type="javaee:message-destination-refType"
238
                   minOccurs="0"
239
                   maxOccurs="unbounded"/>
240
      <xsd:element name="persistence-context-ref"
241
                   type="javaee:persistence-context-refType"
242
                   minOccurs="0"
243
                   maxOccurs="unbounded"/>
244
      <xsd:element name="persistence-unit-ref"
245
                   type="javaee:persistence-unit-refType"
246
                   minOccurs="0"
247
                   maxOccurs="unbounded"/>
248
      <xsd:element name="message-destination"
249
                   type="javaee:message-destinationType"
250
                   minOccurs="0"
251
                   maxOccurs="unbounded"/>
252
      <xsd:element name="data-source"
253
                   type="javaee:data-sourceType"
254
                   minOccurs="0"
255
                   maxOccurs="unbounded"/>
256
      <xsd:element name="jms-connection-factory"
257
                   type="javaee:jms-connection-factoryType"
258
                   minOccurs="0"
259
                   maxOccurs="unbounded"/>
260
      <xsd:element name="jms-destination"
261
                   type="javaee:jms-destinationType"
262
                   minOccurs="0"
263
                   maxOccurs="unbounded"/>
264
      <xsd:element name="mail-session"
265
                   type="javaee:mail-sessionType"
266
                   minOccurs="0"
267
                   maxOccurs="unbounded"/>
268
      <xsd:element name="connector-resource"
269
                   type="javaee:connector-resourceType"
270
                   minOccurs="0"
271
                   maxOccurs="unbounded"/>
272
      <xsd:element name="administered-object"
273
                   type="javaee:administered-objectType"
274
                   minOccurs="0"
275
                   maxOccurs="unbounded"/>
276
    </xsd:sequence>
277
    <xsd:attribute name="version"
278
                   type="javaee:dewey-versionType"
279
                   fixed="7"
280
                   use="required">
281
      <xsd:annotation>
282
        <xsd:documentation>
283
284
          The required value for the version is 7.
285
          
286
        </xsd:documentation>
287
      </xsd:annotation>
288
    </xsd:attribute>
289
    <xsd:attribute name="id"
290
                   type="xsd:ID"/>
291
  </xsd:complexType>
292
293
294
<!-- **************************************************** -->
295
296
  <xsd:complexType name="moduleType">
297
    <xsd:annotation>
298
      <xsd:documentation>
299
300
        The moduleType defines a single Java EE module and contains a
301
        connector, ejb, java, or web element, which indicates the
302
        module type and contains a path to the module file, and an
303
        optional alt-dd element, which specifies an optional URI to
304
        the post-assembly version of the deployment descriptor.
305
        
306
      </xsd:documentation>
307
    </xsd:annotation>
308
    <xsd:sequence>
309
      <xsd:choice>
310
        <xsd:element name="connector"
311
                     type="javaee:pathType">
312
          <xsd:annotation>
313
            <xsd:documentation>
314
315
              The connector element specifies the URI of a
316
              resource adapter archive file, relative to the
317
              top level of the application package.
318
              
319
            </xsd:documentation>
320
          </xsd:annotation>
321
        </xsd:element>
322
        <xsd:element name="ejb"
323
                     type="javaee:pathType">
324
          <xsd:annotation>
325
            <xsd:documentation>
326
327
              The ejb element specifies the URI of an ejb-jar,
328
              relative to the top level of the application
329
              package.
330
              
331
            </xsd:documentation>
332
          </xsd:annotation>
333
        </xsd:element>
334
        <xsd:element name="java"
335
                     type="javaee:pathType">
336
          <xsd:annotation>
337
            <xsd:documentation>
338
339
              The java element specifies the URI of a java
340
              application client module, relative to the top
341
              level of the application package.
342
              
343
            </xsd:documentation>
344
          </xsd:annotation>
345
        </xsd:element>
346
        <xsd:element name="web"
347
                     type="javaee:webType"/>
348
      </xsd:choice>
349
      <xsd:element name="alt-dd"
350
                   type="javaee:pathType"
351
                   minOccurs="0">
352
        <xsd:annotation>
353
          <xsd:documentation>
354
355
            The alt-dd element specifies an optional URI to the
356
            post-assembly version of the deployment descriptor
357
            file for a particular Java EE module.  The URI must
358
            specify the full pathname of the deployment
359
            descriptor file relative to the application's root
360
            directory. If alt-dd is not specified, the deployer
361
            must read the deployment descriptor from the default
362
            location and file name required by the respective
363
            component specification.
364
            
365
          </xsd:documentation>
366
        </xsd:annotation>
367
      </xsd:element>
368
    </xsd:sequence>
369
    <xsd:attribute name="id"
370
                   type="xsd:ID"/>
371
  </xsd:complexType>
372
373
374
<!-- **************************************************** -->
375
376
  <xsd:complexType name="webType">
377
    <xsd:annotation>
378
      <xsd:documentation>
379
380
        The webType defines the web-uri and context-root of
381
        a web application module.
382
        
383
      </xsd:documentation>
384
    </xsd:annotation>
385
    <xsd:sequence>
386
      <xsd:element name="web-uri"
387
                   type="javaee:pathType">
388
        <xsd:annotation>
389
          <xsd:documentation>
390
391
            The web-uri element specifies the URI of a web
392
            application file, relative to the top level of the
393
            application package.
394
            
395
          </xsd:documentation>
396
        </xsd:annotation>
397
      </xsd:element>
398
      <xsd:element name="context-root"
399
                   type="javaee:string">
400
        <xsd:annotation>
401
          <xsd:documentation>
402
403
            The context-root element specifies the context root
404
            of a web application.
405
            
406
          </xsd:documentation>
407
        </xsd:annotation>
408
      </xsd:element>
409
    </xsd:sequence>
410
    <xsd:attribute name="id"
411
                   type="xsd:ID"/>
412
  </xsd:complexType>
413
414
</xsd:schema>
(-)a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/ejb-jar_3_2.xsd (+3321 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
3
            targetNamespace="http://java.sun.com/xml/ns/javaee"
4
            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
5
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
            elementFormDefault="qualified"
7
            attributeFormDefault="unqualified"
8
            version="3.2">
9
  <xsd:annotation>
10
    <xsd:documentation>
11
12
      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
      
14
      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
15
      
16
      The contents of this file are subject to the terms of either the GNU
17
      General Public License Version 2 only ("GPL") or the Common Development
18
      and Distribution License("CDDL") (collectively, the "License").  You
19
      may not use this file except in compliance with the License.  You can
20
      obtain a copy of the License at
21
      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
22
      or packager/legal/LICENSE.txt.  See the License for the specific
23
      language governing permissions and limitations under the License.
24
      
25
      When distributing the software, include this License Header Notice in each
26
      file and include the License file at packager/legal/LICENSE.txt.
27
      
28
      GPL Classpath Exception:
29
      Oracle designates this particular file as subject to the "Classpath"
30
      exception as provided by Oracle in the GPL Version 2 section of the License
31
      file that accompanied this code.
32
      
33
      Modifications:
34
      If applicable, add the following below the License Header, with the fields
35
      enclosed by brackets [] replaced by your own identifying information:
36
      "Portions Copyright [year] [name of copyright owner]"
37
      
38
      Contributor(s):
39
      If you wish your version of this file to be governed by only the CDDL or
40
      only the GPL Version 2, indicate your decision by adding "[Contributor]
41
      elects to include this software in this distribution under the [CDDL or GPL
42
      Version 2] license."  If you don't indicate a single choice of license, a
43
      recipient has the option to distribute your version of this file under
44
      either the CDDL, the GPL Version 2 or to extend the choice of license to
45
      its licensees as provided above.  However, if you add GPL Version 2 code
46
      and therefore, elected the GPL Version 2 license, then the option applies
47
      only if the new code is made subject to such option by the copyright
48
      holder.
49
      
50
    </xsd:documentation>
51
  </xsd:annotation>
52
53
  <xsd:annotation>
54
    <xsd:documentation>
55
      <![CDATA[[
56
      This is the XML Schema for the EJB 3.2 deployment descriptor.
57
      
58
      All EJB deployment descriptors must indicate
59
      the schema by using the Java EE namespace:
60
      
61
      http://java.sun.com/xml/ns/javaee
62
      
63
      and by indicating the version of the schema by
64
      using the version element as shown below:
65
      
66
      <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee"
67
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
68
      xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
69
      	  http://java.sun.com/xml/ns/javaee/ejb-jar_3_2.xsd"
70
      version="3.2">
71
      ...
72
      </ejb-jar>
73
      
74
      The instance documents may indicate the published version of
75
      the schema using the xsi:schemaLocation attribute for the
76
      Java EE namespace with the following location:
77
      
78
      http://java.sun.com/xml/ns/javaee/ejb-jar_3_2.xsd
79
      
80
      ]]>
81
    </xsd:documentation>
82
  </xsd:annotation>
83
84
  <xsd:annotation>
85
    <xsd:documentation>
86
87
      The following conventions apply to all Java EE
88
      deployment descriptor elements unless indicated otherwise.
89
      
90
      - In elements that specify a pathname to a file within the
91
      same JAR file, relative filenames (i.e., those not
92
      starting with "/") are considered relative to the root of
93
      the JAR file's namespace.  Absolute filenames (i.e., those
94
      starting with "/") also specify names in the root of the
95
      JAR file's namespace.  In general, relative names are
96
      preferred.  The exception is .war files where absolute
97
      names are preferred for consistency with the Servlet API.
98
      
99
    </xsd:documentation>
100
  </xsd:annotation>
101
102
  <xsd:include schemaLocation="javaee_7.xsd"/>
103
104
105
<!-- **************************************************** -->
106
107
  <xsd:element name="ejb-jar"
108
               type="javaee:ejb-jarType">
109
    <xsd:annotation>
110
      <xsd:documentation>
111
112
        This is the root of the ejb-jar deployment descriptor.
113
        
114
      </xsd:documentation>
115
    </xsd:annotation>
116
    <xsd:key name="ejb-name-key">
117
      <xsd:annotation>
118
        <xsd:documentation>
119
120
          The ejb-name element contains the name of an enterprise
121
          bean. The name must be unique within the ejb-jar file or
122
          .war file.
123
          
124
        </xsd:documentation>
125
      </xsd:annotation>
126
      <xsd:selector xpath="javaee:enterprise-beans/*"/>
127
      <xsd:field xpath="javaee:ejb-name"/>
128
    </xsd:key>
129
    <xsd:keyref name="ejb-name-references"
130
                refer="javaee:ejb-name-key">
131
      <xsd:annotation>
132
        <xsd:documentation>
133
134
          The keyref indicates the references from
135
          relationship-role-source must be to a specific ejb-name
136
          defined within the scope of enterprise-beans element. 
137
          
138
        </xsd:documentation>
139
      </xsd:annotation>
140
      <xsd:selector xpath=".//javaee:ejb-relationship-role/javaee:relationship-role-source"/>
141
      <xsd:field xpath="javaee:ejb-name"/>
142
    </xsd:keyref>
143
    <xsd:key name="role-name-key">
144
      <xsd:annotation>
145
        <xsd:documentation>
146
147
          A role-name-key is specified to allow the references
148
          from the security-role-refs.
149
          
150
        </xsd:documentation>
151
      </xsd:annotation>
152
      <xsd:selector xpath="javaee:assembly-descriptor/javaee:security-role"/>
153
      <xsd:field xpath="javaee:role-name"/>
154
    </xsd:key>
155
    <xsd:keyref name="role-name-references"
156
                refer="javaee:role-name-key">
157
      <xsd:annotation>
158
        <xsd:documentation>
159
160
          The keyref indicates the references from
161
          security-role-ref to a specified role-name.
162
          
163
        </xsd:documentation>
164
      </xsd:annotation>
165
      <xsd:selector xpath="javaee:enterprise-beans/*/javaee:security-role-ref"/>
166
      <xsd:field xpath="javaee:role-link"/>
167
    </xsd:keyref>
168
  </xsd:element>
169
170
171
<!-- **************************************************** -->
172
173
  <xsd:complexType name="access-timeoutType">
174
    <xsd:annotation>
175
      <xsd:documentation>
176
177
        The access-timeoutType represents the maximum amount of
178
        time (in a given time unit) that the container should wait for
179
        a concurrency lock before throwing a timeout exception to the
180
        client.
181
        
182
        A timeout value of 0 means concurrent access is not permitted.
183
        
184
        A timeout value of -1 means wait indefinitely to acquire a lock.
185
        
186
      </xsd:documentation>
187
    </xsd:annotation>
188
    <xsd:sequence>
189
      <xsd:element name="timeout"
190
                   type="javaee:xsdIntegerType"/>
191
      <xsd:element name="unit"
192
                   type="javaee:time-unit-typeType"/>
193
    </xsd:sequence>
194
    <xsd:attribute name="id"
195
                   type="xsd:ID"/>
196
  </xsd:complexType>
197
198
199
<!-- **************************************************** -->
200
201
  <xsd:complexType name="async-methodType">
202
    <xsd:annotation>
203
      <xsd:documentation>
204
205
        The async-methodType element specifies that a session
206
        bean method has asynchronous invocation semantics.
207
        
208
      </xsd:documentation>
209
    </xsd:annotation>
210
    <xsd:sequence>
211
      <xsd:element name="method-name"
212
                   type="javaee:string"/>
213
      <xsd:element name="method-params"
214
                   type="javaee:method-paramsType"
215
                   minOccurs="0"/>
216
    </xsd:sequence>
217
    <xsd:attribute name="id"
218
                   type="xsd:ID"/>
219
  </xsd:complexType>
220
221
222
<!-- **************************************************** -->
223
224
  <xsd:complexType name="activation-configType">
225
    <xsd:annotation>
226
      <xsd:documentation>
227
228
        The activation-configType defines information about the
229
        expected configuration properties of the message-driven bean
230
        in its operational environment. This may include information
231
        about message acknowledgement, message selector, expected
232
        destination type, destination or connection factory lookup
233
        string, subscription name, etc.
234
        
235
        The configuration information is expressed in terms of
236
        name/value configuration properties.
237
        
238
        The properties that are recognized for a particular
239
        message-driven bean are determined by the messaging type.
240
        
241
      </xsd:documentation>
242
    </xsd:annotation>
243
    <xsd:sequence>
244
      <xsd:element name="description"
245
                   type="javaee:descriptionType"
246
                   minOccurs="0"
247
                   maxOccurs="unbounded"/>
248
      <xsd:element name="activation-config-property"
249
                   type="javaee:activation-config-propertyType"
250
                   maxOccurs="unbounded"/>
251
    </xsd:sequence>
252
    <xsd:attribute name="id"
253
                   type="xsd:ID"/>
254
  </xsd:complexType>
255
256
257
<!-- **************************************************** -->
258
259
  <xsd:complexType name="activation-config-propertyType">
260
    <xsd:annotation>
261
      <xsd:documentation>
262
263
        The activation-config-propertyType contains a name/value
264
        configuration property pair for a message-driven bean.
265
        
266
        The properties that are recognized for a particular
267
        message-driven bean are determined by the messaging type.
268
        
269
      </xsd:documentation>
270
    </xsd:annotation>
271
    <xsd:sequence>
272
      <xsd:element name="activation-config-property-name"
273
                   type="javaee:xsdStringType">
274
        <xsd:annotation>
275
          <xsd:documentation>
276
277
            The activation-config-property-name element contains
278
            the name for an activation configuration property of
279
            a message-driven bean.
280
            
281
            For JMS message-driven beans, the following property
282
            names are recognized: acknowledgeMode,
283
            messageSelector, destinationType, subscriptionDurability,
284
            destinationLookup, connectionFactoryLookup, subscriptionName,
285
            clientId, and shareSubscriptions.
286
            
287
          </xsd:documentation>
288
        </xsd:annotation>
289
      </xsd:element>
290
      <xsd:element name="activation-config-property-value"
291
                   type="javaee:xsdStringType">
292
        <xsd:annotation>
293
          <xsd:documentation>
294
295
            The activation-config-property-value element
296
            contains the value for an activation configuration
297
            property of a message-driven bean.
298
            
299
          </xsd:documentation>
300
        </xsd:annotation>
301
      </xsd:element>
302
    </xsd:sequence>
303
    <xsd:attribute name="id"
304
                   type="xsd:ID"/>
305
  </xsd:complexType>
306
307
308
<!-- **************************************************** -->
309
310
  <xsd:complexType name="around-invokeType">
311
    <xsd:annotation>
312
      <xsd:documentation>
313
314
        The around-invoke type specifies a method on a
315
        class to be called during the around invoke portion of an 
316
        ejb invocation.  Note that each class may have only one
317
        around invoke method and that the method may not be
318
        overloaded.
319
        
320
        If the class element is missing then
321
        the class defining the callback is assumed to be the
322
        interceptor class or component class in scope at the
323
        location in the descriptor in which the around invoke
324
        definition appears.
325
        
326
      </xsd:documentation>
327
    </xsd:annotation>
328
    <xsd:sequence>
329
      <xsd:element name="class"
330
                   type="javaee:fully-qualified-classType"
331
                   minOccurs="0"/>
332
      <xsd:element name="method-name"
333
                   type="javaee:java-identifierType"/>
334
    </xsd:sequence>
335
  </xsd:complexType>
336
337
338
<!-- **************************************************** -->
339
340
  <xsd:complexType name="around-timeoutType">
341
    <xsd:annotation>
342
      <xsd:documentation>
343
344
        The around-timeout type specifies a method on a
345
        class to be called during the around-timeout portion of
346
        a timer timeout callback.  Note that each class may have 
347
        only one around-timeout method and that the method may not 
348
        be overloaded.
349
        
350
        If the class element is missing then
351
        the class defining the callback is assumed to be the
352
        interceptor class or component class in scope at the
353
        location in the descriptor in which the around-timeout
354
        definition appears.
355
        
356
      </xsd:documentation>
357
    </xsd:annotation>
358
    <xsd:sequence>
359
      <xsd:element name="class"
360
                   type="javaee:fully-qualified-classType"
361
                   minOccurs="0"/>
362
      <xsd:element name="method-name"
363
                   type="javaee:java-identifierType"/>
364
    </xsd:sequence>
365
  </xsd:complexType>
366
367
368
<!-- **************************************************** -->
369
370
  <xsd:complexType name="assembly-descriptorType">
371
    <xsd:annotation>
372
      <xsd:documentation>
373
374
        The assembly-descriptorType defines
375
        application-assembly information.
376
        
377
        The application-assembly information consists of the
378
        following parts: the definition of security roles, the
379
        definition of method permissions, the definition of
380
        transaction attributes for enterprise beans with
381
        container-managed transaction demarcation, the definition
382
        of interceptor bindings, a list of
383
        methods to be excluded from being invoked, and a list of
384
        exception types that should be treated as application exceptions.
385
        
386
        All the parts are optional in the sense that they are
387
        omitted if the lists represented by them are empty.
388
        
389
        Providing an assembly-descriptor in the deployment
390
        descriptor is optional for the ejb-jar file or .war file producer.
391
        
392
      </xsd:documentation>
393
    </xsd:annotation>
394
    <xsd:sequence>
395
      <xsd:element name="security-role"
396
                   type="javaee:security-roleType"
397
                   minOccurs="0"
398
                   maxOccurs="unbounded"/>
399
      <xsd:element name="method-permission"
400
                   type="javaee:method-permissionType"
401
                   minOccurs="0"
402
                   maxOccurs="unbounded"/>
403
      <xsd:element name="container-transaction"
404
                   type="javaee:container-transactionType"
405
                   minOccurs="0"
406
                   maxOccurs="unbounded"/>
407
      <xsd:element name="interceptor-binding"
408
                   type="javaee:interceptor-bindingType"
409
                   minOccurs="0"
410
                   maxOccurs="unbounded"/>
411
      <xsd:element name="message-destination"
412
                   type="javaee:message-destinationType"
413
                   minOccurs="0"
414
                   maxOccurs="unbounded"/>
415
      <xsd:element name="exclude-list"
416
                   type="javaee:exclude-listType"
417
                   minOccurs="0"/>
418
      <xsd:element name="application-exception"
419
                   type="javaee:application-exceptionType"
420
                   minOccurs="0"
421
                   maxOccurs="unbounded"/>
422
    </xsd:sequence>
423
    <xsd:attribute name="id"
424
                   type="xsd:ID"/>
425
  </xsd:complexType>
426
427
428
<!-- **************************************************** -->
429
430
  <xsd:complexType name="cmp-fieldType">
431
    <xsd:annotation>
432
      <xsd:documentation>
433
434
        The cmp-fieldType describes a container-managed field. The
435
        cmp-fieldType contains an optional description of the field,
436
        and the name of the field.
437
        
438
      </xsd:documentation>
439
    </xsd:annotation>
440
    <xsd:sequence>
441
      <xsd:element name="description"
442
                   type="javaee:descriptionType"
443
                   minOccurs="0"
444
                   maxOccurs="unbounded"/>
445
      <xsd:element name="field-name"
446
                   type="javaee:java-identifierType">
447
        <xsd:annotation>
448
          <xsd:documentation>
449
450
            The field-name element specifies the name of a
451
            container managed field.
452
            
453
            The name of the cmp-field of an entity bean with
454
            cmp-version 2.x must begin with a lowercase
455
            letter. This field is accessed by methods whose
456
            names consists of the name of the field specified by
457
            field-name in which the first letter is uppercased,
458
            prefixed by "get" or "set".
459
            
460
            The name of the cmp-field of an entity bean with
461
            cmp-version 1.x must denote a public field of the
462
            enterprise bean class or one of its superclasses.
463
            
464
          </xsd:documentation>
465
        </xsd:annotation>
466
      </xsd:element>
467
    </xsd:sequence>
468
    <xsd:attribute name="id"
469
                   type="xsd:ID"/>
470
  </xsd:complexType>
471
472
473
<!-- **************************************************** -->
474
475
  <xsd:complexType name="cmp-versionType">
476
    <xsd:annotation>
477
      <xsd:documentation>
478
479
        The cmp-versionType specifies the version of an entity bean
480
        with container-managed persistence. It is used by
481
        cmp-version elements.
482
        
483
        The value must be one of the two following:
484
        
485
        1.x
486
        2.x
487
        
488
      </xsd:documentation>
489
    </xsd:annotation>
490
    <xsd:simpleContent>
491
      <xsd:restriction base="javaee:string">
492
        <xsd:enumeration value="1.x"/>
493
        <xsd:enumeration value="2.x"/>
494
      </xsd:restriction>
495
    </xsd:simpleContent>
496
  </xsd:complexType>
497
498
499
<!-- **************************************************** -->
500
501
  <xsd:complexType name="cmr-fieldType">
502
    <xsd:annotation>
503
      <xsd:documentation>
504
505
        The cmr-fieldType describes the Bean Provider's view of
506
        a relationship. It consists of an optional description, and
507
        the name and the class type of a field in the source of a
508
        role of a relationship. The cmr-field-name element
509
        corresponds to the name used for the get and set accessor
510
        methods for the relationship. The cmr-field-type element is
511
        used only for collection-valued cmr-fields. It specifies the
512
        type of the collection that is used.
513
        
514
      </xsd:documentation>
515
    </xsd:annotation>
516
    <xsd:sequence>
517
      <xsd:element name="description"
518
                   type="javaee:descriptionType"
519
                   minOccurs="0"
520
                   maxOccurs="unbounded"/>
521
      <xsd:element name="cmr-field-name"
522
                   type="javaee:string">
523
        <xsd:annotation>
524
          <xsd:documentation>
525
526
            The cmr-field-name element specifies the name of a
527
            logical relationship field in the entity bean
528
            class. The name of the cmr-field must begin with a
529
            lowercase letter. This field is accessed by methods
530
            whose names consist of the name of the field
531
            specified by cmr-field-name in which the first
532
            letter is uppercased, prefixed by "get" or "set".
533
            
534
          </xsd:documentation>
535
        </xsd:annotation>
536
      </xsd:element>
537
      <xsd:element name="cmr-field-type"
538
                   type="javaee:cmr-field-typeType"
539
                   minOccurs="0"/>
540
    </xsd:sequence>
541
    <xsd:attribute name="id"
542
                   type="xsd:ID"/>
543
  </xsd:complexType>
544
545
546
<!-- **************************************************** -->
547
548
  <xsd:complexType name="cmr-field-typeType">
549
    <xsd:annotation>
550
      <xsd:documentation>
551
552
        The cmr-field-type element specifies the class of a
553
        collection-valued logical relationship field in the entity
554
        bean class. The value of an element using cmr-field-typeType
555
        must be either: java.util.Collection or java.util.Set.
556
        
557
      </xsd:documentation>
558
    </xsd:annotation>
559
    <xsd:simpleContent>
560
      <xsd:restriction base="javaee:string">
561
        <xsd:enumeration value="java.util.Collection"/>
562
        <xsd:enumeration value="java.util.Set"/>
563
      </xsd:restriction>
564
    </xsd:simpleContent>
565
  </xsd:complexType>
566
567
568
<!-- **************************************************** -->
569
570
  <xsd:complexType name="concurrency-management-typeType">
571
    <xsd:annotation>
572
      <xsd:documentation>
573
574
        The concurrency-management-typeType specifies the way concurrency
575
        is managed for a singleton or stateful session bean.  
576
        
577
        The concurrency management type must be one of the following:
578
        
579
        Bean
580
        Container
581
        
582
        Bean managed concurrency can only be specified for a singleton bean.
583
        
584
      </xsd:documentation>
585
    </xsd:annotation>
586
    <xsd:simpleContent>
587
      <xsd:restriction base="javaee:string">
588
        <xsd:enumeration value="Bean"/>
589
        <xsd:enumeration value="Container"/>
590
      </xsd:restriction>
591
    </xsd:simpleContent>
592
  </xsd:complexType>
593
594
595
<!-- **************************************************** -->
596
597
  <xsd:complexType name="concurrent-lock-typeType">
598
    <xsd:annotation>
599
      <xsd:documentation>
600
601
        The concurrent-lock-typeType specifies how the container must
602
        manage concurrent access to a method of a Singleton bean 
603
        with container-managed concurrency.
604
        
605
        The container managed concurrency lock type must be one 
606
        of the following :
607
        
608
        Read
609
        Write
610
        
611
      </xsd:documentation>
612
    </xsd:annotation>
613
    <xsd:simpleContent>
614
      <xsd:restriction base="javaee:string">
615
        <xsd:enumeration value="Read"/>
616
        <xsd:enumeration value="Write"/>
617
      </xsd:restriction>
618
    </xsd:simpleContent>
619
  </xsd:complexType>
620
621
622
<!-- **************************************************** -->
623
624
  <xsd:complexType name="concurrent-methodType">
625
    <xsd:annotation>
626
      <xsd:documentation>
627
628
        The concurrent-methodType specifies information about a method
629
        of a bean with container managed concurrency.
630
        
631
        The optional lock element specifies the kind of concurrency 
632
        lock asssociated with the method.
633
        
634
        The optional access-timeout element specifies the amount of
635
        time (in a given time unit) the container should wait for a
636
        concurrency lock before throwing an exception to the client.
637
        
638
      </xsd:documentation>
639
    </xsd:annotation>
640
    <xsd:sequence>
641
      <xsd:element name="method"
642
                   type="javaee:named-methodType"/>
643
      <xsd:element name="lock"
644
                   type="javaee:concurrent-lock-typeType"
645
                   minOccurs="0"/>
646
      <xsd:element name="access-timeout"
647
                   type="javaee:access-timeoutType"
648
                   minOccurs="0"/>
649
    </xsd:sequence>
650
    <xsd:attribute name="id"
651
                   type="xsd:ID"/>
652
  </xsd:complexType>
653
654
655
<!-- **************************************************** -->
656
657
  <xsd:complexType name="container-transactionType">
658
    <xsd:annotation>
659
      <xsd:documentation>
660
661
        The container-transactionType specifies how the container
662
        must manage transaction scopes for the enterprise bean's
663
        method invocations. It defines an optional description, a
664
        list of method elements, and a transaction attribute. The
665
        transaction attribute is to be applied to all the specified
666
        methods.
667
        
668
      </xsd:documentation>
669
    </xsd:annotation>
670
    <xsd:sequence>
671
      <xsd:element name="description"
672
                   type="javaee:descriptionType"
673
                   minOccurs="0"
674
                   maxOccurs="unbounded"/>
675
      <xsd:element name="method"
676
                   type="javaee:methodType"
677
                   maxOccurs="unbounded"/>
678
      <xsd:element name="trans-attribute"
679
                   type="javaee:trans-attributeType"/>
680
    </xsd:sequence>
681
    <xsd:attribute name="id"
682
                   type="xsd:ID"/>
683
  </xsd:complexType>
684
685
686
<!-- **************************************************** -->
687
688
  <xsd:complexType name="depends-onType">
689
    <xsd:annotation>
690
      <xsd:documentation>
691
692
        The depends-onType is used to express initialization 
693
        ordering dependencies between Singleton components.
694
        The depends-onType specifies the names of one or more
695
        Singleton beans in the same application as the referring
696
        Singleton, each of which must be initialized before
697
        the referring bean.  
698
        
699
        Each dependent bean is expressed using ejb-link syntax.
700
        The order in which dependent beans are initialized at 
701
        runtime is not guaranteed to match the order in which
702
        they are listed.
703
        
704
      </xsd:documentation>
705
    </xsd:annotation>
706
    <xsd:sequence>
707
      <xsd:element name="ejb-name"
708
                   type="javaee:ejb-linkType"
709
                   minOccurs="1"
710
                   maxOccurs="unbounded"/>
711
    </xsd:sequence>
712
    <xsd:attribute name="id"
713
                   type="xsd:ID"/>
714
  </xsd:complexType>
715
716
717
<!-- **************************************************** -->
718
719
  <xsd:complexType name="ejb-classType">
720
    <xsd:annotation>
721
      <xsd:documentation>
722
        <![CDATA[[
723
        The ejb-classType contains the fully-qualified name of the
724
        enterprise bean's class. It is used by ejb-class elements. 
725
        
726
        Example:
727
        
728
        <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
729
        
730
        ]]>
731
      </xsd:documentation>
732
    </xsd:annotation>
733
    <xsd:simpleContent>
734
      <xsd:restriction base="javaee:fully-qualified-classType"/>
735
    </xsd:simpleContent>
736
  </xsd:complexType>
737
738
739
<!-- **************************************************** -->
740
741
  <xsd:complexType name="ejb-jarType">
742
    <xsd:annotation>
743
      <xsd:documentation>
744
745
        The ejb-jarType defines the root element of the EJB
746
        deployment descriptor. It contains
747
        
748
        - an optional description of the ejb-jar file
749
        - an optional display name
750
        - an optional icon that contains a small and a large
751
        icon file name
752
        - an optional module name. Only applicable to
753
        stand-alone ejb-jars or ejb-jars packaged in an ear.
754
        Ignored if specified for an ejb-jar.xml within a .war file.
755
        In that case, standard .war file module-name rules apply.
756
        - structural information about all included
757
        enterprise beans that is not specified through
758
        annotations
759
        - structural information about interceptor classes
760
        - a descriptor for container managed relationships, 
761
        if any. 
762
        - an optional application-assembly descriptor
763
        - an optional name of an ejb-client-jar file for the 
764
        ejb-jar.
765
        
766
      </xsd:documentation>
767
    </xsd:annotation>
768
    <xsd:sequence>
769
      <xsd:element name="module-name"
770
                   type="javaee:string"
771
                   minOccurs="0"/>
772
      <xsd:group ref="javaee:descriptionGroup"/>
773
      <xsd:element name="enterprise-beans"
774
                   type="javaee:enterprise-beansType"
775
                   minOccurs="0"/>
776
      <xsd:element name="interceptors"
777
                   type="javaee:interceptorsType"
778
                   minOccurs="0"/>
779
      <xsd:element name="relationships"
780
                   type="javaee:relationshipsType"
781
                   minOccurs="0">
782
        <xsd:unique name="relationship-name-uniqueness">
783
          <xsd:annotation>
784
            <xsd:documentation>
785
786
              The ejb-relation-name contains the name of a
787
              relation. The name must be unique within
788
              relationships.
789
              
790
            </xsd:documentation>
791
          </xsd:annotation>
792
          <xsd:selector xpath="javaee:ejb-relation"/>
793
          <xsd:field xpath="javaee:ejb-relation-name"/>
794
        </xsd:unique>
795
      </xsd:element>
796
      <xsd:element name="assembly-descriptor"
797
                   type="javaee:assembly-descriptorType"
798
                   minOccurs="0">
799
        <xsd:annotation>
800
          <xsd:documentation>
801
802
            Providing an assembly-descriptor in the deployment
803
            descriptor is optional for the ejb-jar file or .war file
804
            producer.
805
            
806
          </xsd:documentation>
807
        </xsd:annotation>
808
      </xsd:element>
809
      <xsd:element name="ejb-client-jar"
810
                   type="javaee:pathType"
811
                   minOccurs="0">
812
        <xsd:annotation>
813
          <xsd:documentation>
814
            <![CDATA[[
815
            The optional ejb-client-jar element specifies a JAR
816
            file that contains the class files necessary for a
817
            client program to access the
818
            enterprise beans in the ejb-jar file.
819
            
820
            Example:
821
            
822
            	  <ejb-client-jar>employee_service_client.jar
823
            	  </ejb-client-jar>
824
            
825
            ]]>
826
          </xsd:documentation>
827
        </xsd:annotation>
828
      </xsd:element>
829
    </xsd:sequence>
830
    <xsd:attribute name="version"
831
                   type="javaee:dewey-versionType"
832
                   fixed="3.2"
833
                   use="required">
834
      <xsd:annotation>
835
        <xsd:documentation>
836
837
          The version specifies the version of the
838
          EJB specification that the instance document must 
839
          comply with. This information enables deployment tools
840
          to validate a particular EJB Deployment
841
          Descriptor with respect to a specific version of the EJB
842
          schema. 
843
          
844
        </xsd:documentation>
845
      </xsd:annotation>
846
    </xsd:attribute>
847
    <xsd:attribute name="metadata-complete"
848
                   type="xsd:boolean">
849
      <xsd:annotation>
850
        <xsd:documentation>
851
852
          The metadata-complete attribute defines whether this
853
          deployment descriptor and other related deployment
854
          descriptors for this module (e.g., web service
855
          descriptors) are complete, or whether the class
856
          files available to this module and packaged with
857
          this application should be examined for annotations
858
          that specify deployment information.
859
          
860
          If metadata-complete is set to "true", the deployment
861
          tool must ignore any annotations that specify deployment
862
          information, which might be present in the class files
863
          of the application.
864
          
865
          If metadata-complete is not specified or is set to
866
          "false", the deployment tool must examine the class
867
          files of the application for annotations, as
868
          specified by the specifications.
869
          
870
        </xsd:documentation>
871
      </xsd:annotation>
872
    </xsd:attribute>
873
    <xsd:attribute name="id"
874
                   type="xsd:ID"/>
875
  </xsd:complexType>
876
877
878
<!-- **************************************************** -->
879
880
  <xsd:complexType name="ejb-nameType">
881
    <xsd:annotation>
882
      <xsd:documentation>
883
        <![CDATA[[
884
        The ejb-nameType specifies an enterprise bean's name. It is
885
        used by ejb-name elements. This name is assigned by the
886
        file producer to name the enterprise bean in the
887
        ejb-jar file or .war file's deployment descriptor. The name must be
888
        unique among the names of the enterprise beans in the same
889
        ejb-jar file or .war file.
890
        
891
        There is no architected relationship between the used
892
        ejb-name in the deployment descriptor and the JNDI name that
893
        the Deployer will assign to the enterprise bean's home.
894
        
895
        The name for an entity bean must conform to the lexical
896
        rules for an NMTOKEN.
897
        
898
        Example:
899
        
900
        <ejb-name>EmployeeService</ejb-name>
901
        
902
        ]]>
903
      </xsd:documentation>
904
    </xsd:annotation>
905
    <xsd:simpleContent>
906
      <xsd:restriction base="javaee:xsdNMTOKENType"/>
907
    </xsd:simpleContent>
908
  </xsd:complexType>
909
910
911
<!-- **************************************************** -->
912
913
  <xsd:complexType name="ejb-relationType">
914
    <xsd:annotation>
915
      <xsd:documentation>
916
917
        The ejb-relationType describes a relationship between two
918
        entity beans with container-managed persistence.  It is used
919
        by ejb-relation elements. It contains a description; an
920
        optional ejb-relation-name element; and exactly two
921
        relationship role declarations, defined by the
922
        ejb-relationship-role elements. The name of the
923
        relationship, if specified, is unique within the ejb-jar
924
        file.
925
        
926
      </xsd:documentation>
927
    </xsd:annotation>
928
    <xsd:sequence>
929
      <xsd:element name="description"
930
                   type="javaee:descriptionType"
931
                   minOccurs="0"
932
                   maxOccurs="unbounded"/>
933
      <xsd:element name="ejb-relation-name"
934
                   type="javaee:string"
935
                   minOccurs="0">
936
        <xsd:annotation>
937
          <xsd:documentation>
938
939
            The ejb-relation-name element provides a unique name
940
            within the ejb-jar file for a relationship.
941
            
942
          </xsd:documentation>
943
        </xsd:annotation>
944
      </xsd:element>
945
      <xsd:element name="ejb-relationship-role"
946
                   type="javaee:ejb-relationship-roleType"
947
                   minOccurs="2"
948
                   maxOccurs="2"/>
949
    </xsd:sequence>
950
    <xsd:attribute name="id"
951
                   type="xsd:ID"/>
952
  </xsd:complexType>
953
954
955
<!-- **************************************************** -->
956
957
  <xsd:complexType name="ejb-relationship-roleType">
958
    <xsd:annotation>
959
      <xsd:documentation>
960
        <![CDATA[[
961
        The ejb-relationship-roleType describes a role within a
962
        relationship. There are two roles in each relationship.
963
        
964
        The ejb-relationship-roleType contains an optional
965
        description; an optional name for the relationship role; a
966
        specification of the multiplicity of the role; an optional
967
        specification of cascade-delete functionality for the role;
968
        the role source; and a declaration of the cmr-field, if any,
969
        by means of which the other side of the relationship is
970
        accessed from the perspective of the role source.
971
        
972
        The multiplicity and role-source element are mandatory.
973
        
974
        The relationship-role-source element designates an entity
975
        bean by means of an ejb-name element. For bidirectional
976
        relationships, both roles of a relationship must declare a
977
        relationship-role-source element that specifies a cmr-field
978
        in terms of which the relationship is accessed. The lack of
979
        a cmr-field element in an ejb-relationship-role specifies
980
        that the relationship is unidirectional in navigability and
981
        the entity bean that participates in the relationship is
982
        "not aware" of the relationship.
983
        
984
        Example:
985
        
986
        <ejb-relation>
987
        <ejb-relation-name>Product-LineItem</ejb-relation-name>
988
        <ejb-relationship-role>
989
        	  <ejb-relationship-role-name>product-has-lineitems
990
        	  </ejb-relationship-role-name>
991
        	  <multiplicity>One</multiplicity>
992
        	  <relationship-role-source>
993
        	  <ejb-name>ProductEJB</ejb-name>
994
        	  </relationship-role-source>
995
        </ejb-relationship-role>
996
        </ejb-relation>
997
        
998
        ]]>
999
      </xsd:documentation>
1000
    </xsd:annotation>
1001
    <xsd:sequence>
1002
      <xsd:element name="description"
1003
                   type="javaee:descriptionType"
1004
                   minOccurs="0"
1005
                   maxOccurs="unbounded"/>
1006
      <xsd:element name="ejb-relationship-role-name"
1007
                   type="javaee:string"
1008
                   minOccurs="0">
1009
        <xsd:annotation>
1010
          <xsd:documentation>
1011
1012
            The ejb-relationship-role-name element defines a
1013
            name for a role that is unique within an
1014
            ejb-relation. Different relationships can use the
1015
            same name for a role.
1016
            
1017
          </xsd:documentation>
1018
        </xsd:annotation>
1019
      </xsd:element>
1020
      <xsd:element name="multiplicity"
1021
                   type="javaee:multiplicityType"/>
1022
      <xsd:element name="cascade-delete"
1023
                   type="javaee:emptyType"
1024
                   minOccurs="0">
1025
        <xsd:annotation>
1026
          <xsd:documentation>
1027
1028
            The cascade-delete element specifies that, within a
1029
            particular relationship, the lifetime of one or more
1030
            entity beans is dependent upon the lifetime of
1031
            another entity bean. The cascade-delete element can
1032
            only be specified for an ejb-relationship-role
1033
            element contained in an ejb-relation element in
1034
            which the other ejb-relationship-role
1035
            element specifies a multiplicity of One.
1036
            
1037
          </xsd:documentation>
1038
        </xsd:annotation>
1039
      </xsd:element>
1040
      <xsd:element name="relationship-role-source"
1041
                   type="javaee:relationship-role-sourceType"/>
1042
      <xsd:element name="cmr-field"
1043
                   type="javaee:cmr-fieldType"
1044
                   minOccurs="0"/>
1045
    </xsd:sequence>
1046
    <xsd:attribute name="id"
1047
                   type="xsd:ID"/>
1048
  </xsd:complexType>
1049
1050
1051
<!-- **************************************************** -->
1052
1053
  <xsd:complexType name="enterprise-beansType">
1054
    <xsd:annotation>
1055
      <xsd:documentation>
1056
1057
        The enterprise-beansType declares one or more enterprise
1058
        beans. Each bean can be a session, entity or message-driven
1059
        bean.
1060
        
1061
      </xsd:documentation>
1062
    </xsd:annotation>
1063
    <xsd:choice maxOccurs="unbounded">
1064
      <xsd:element name="session"
1065
                   type="javaee:session-beanType">
1066
        <xsd:unique name="session-ejb-local-ref-name-uniqueness">
1067
          <xsd:annotation>
1068
            <xsd:documentation>
1069
1070
              The ejb-ref-name element contains the name of
1071
              an EJB reference. The EJB reference is an entry in
1072
              the component's environment and is relative to the
1073
              java:comp/env context.  The name must be unique within
1074
              the component.
1075
              
1076
              It is recommended that name be prefixed with "ejb/".
1077
              
1078
            </xsd:documentation>
1079
          </xsd:annotation>
1080
          <xsd:selector xpath="javaee:ejb-local-ref"/>
1081
          <xsd:field xpath="javaee:ejb-ref-name"/>
1082
        </xsd:unique>
1083
        <xsd:unique name="session-ejb-ref-name-uniqueness">
1084
          <xsd:annotation>
1085
            <xsd:documentation>
1086
1087
              The ejb-ref-name element contains the name of an EJB
1088
              reference. The EJB reference is an entry in the
1089
              component's environment and is relative to the
1090
              java:comp/env context. The name must be unique
1091
              within the component.
1092
              
1093
              It is recommended that name is prefixed with "ejb/".
1094
              
1095
            </xsd:documentation>
1096
          </xsd:annotation>
1097
          <xsd:selector xpath="javaee:ejb-ref"/>
1098
          <xsd:field xpath="javaee:ejb-ref-name"/>
1099
        </xsd:unique>
1100
        <xsd:unique name="session-resource-env-ref-uniqueness">
1101
          <xsd:annotation>
1102
            <xsd:documentation>
1103
1104
              The resource-env-ref-name element specifies the name
1105
              of a resource environment reference; its value is
1106
              the environment entry name used in the component
1107
              code. The name is a JNDI name relative to the
1108
              java:comp/env context and must be unique within an
1109
              component.
1110
              
1111
            </xsd:documentation>
1112
          </xsd:annotation>
1113
          <xsd:selector xpath="javaee:resource-env-ref"/>
1114
          <xsd:field xpath="javaee:resource-env-ref-name"/>
1115
        </xsd:unique>
1116
        <xsd:unique name="session-message-destination-ref-uniqueness">
1117
          <xsd:annotation>
1118
            <xsd:documentation>
1119
1120
              The message-destination-ref-name element specifies the name
1121
              of a message destination reference; its value is
1122
              the message destination reference name used in the component
1123
              code. The name is a JNDI name relative to the
1124
              java:comp/env context and must be unique within an
1125
              component.
1126
              
1127
            </xsd:documentation>
1128
          </xsd:annotation>
1129
          <xsd:selector xpath="javaee:message-destination-ref"/>
1130
          <xsd:field xpath="javaee:message-destination-ref-name"/>
1131
        </xsd:unique>
1132
        <xsd:unique name="session-res-ref-name-uniqueness">
1133
          <xsd:annotation>
1134
            <xsd:documentation>
1135
1136
              The res-ref-name element specifies the name of a
1137
              resource manager connection factory reference.  The name
1138
              is a JNDI name relative to the java:comp/env context.
1139
              The name must be unique within an component.
1140
              
1141
            </xsd:documentation>
1142
          </xsd:annotation>
1143
          <xsd:selector xpath="javaee:resource-ref"/>
1144
          <xsd:field xpath="javaee:res-ref-name"/>
1145
        </xsd:unique>
1146
        <xsd:unique name="session-env-entry-name-uniqueness">
1147
          <xsd:annotation>
1148
            <xsd:documentation>
1149
1150
              The env-entry-name element contains the name of a
1151
              component's environment entry.  The name is a JNDI
1152
              name relative to the java:comp/env context.  The
1153
              name must be unique within an component.
1154
              
1155
            </xsd:documentation>
1156
          </xsd:annotation>
1157
          <xsd:selector xpath="javaee:env-entry"/>
1158
          <xsd:field xpath="javaee:env-entry-name"/>
1159
        </xsd:unique>
1160
      </xsd:element>
1161
      <xsd:element name="entity"
1162
                   type="javaee:entity-beanType">
1163
        <xsd:unique name="entity-ejb-local-ref-name-uniqueness">
1164
          <xsd:annotation>
1165
            <xsd:documentation>
1166
1167
              The ejb-ref-name element contains the name of
1168
              an EJB reference. The EJB reference is an entry in
1169
              the component's environment and is relative to the
1170
              java:comp/env context.  The name must be unique within
1171
              the component.
1172
              
1173
              It is recommended that name be prefixed with "ejb/".
1174
              
1175
            </xsd:documentation>
1176
          </xsd:annotation>
1177
          <xsd:selector xpath="javaee:ejb-local-ref"/>
1178
          <xsd:field xpath="javaee:ejb-ref-name"/>
1179
        </xsd:unique>
1180
        <xsd:unique name="entity-ejb-ref-name-uniqueness">
1181
          <xsd:annotation>
1182
            <xsd:documentation>
1183
1184
              The ejb-ref-name element contains the name of an EJB
1185
              reference. The EJB reference is an entry in the
1186
              component's environment and is relative to the
1187
              java:comp/env context. The name must be unique
1188
              within the component.
1189
              
1190
              It is recommended that name is prefixed with "ejb/".
1191
              
1192
            </xsd:documentation>
1193
          </xsd:annotation>
1194
          <xsd:selector xpath="javaee:ejb-ref"/>
1195
          <xsd:field xpath="javaee:ejb-ref-name"/>
1196
        </xsd:unique>
1197
        <xsd:unique name="entity-resource-env-ref-uniqueness">
1198
          <xsd:annotation>
1199
            <xsd:documentation>
1200
1201
              The resource-env-ref-name element specifies the name
1202
              of a resource environment reference; its value is
1203
              the environment entry name used in the component
1204
              code. The name is a JNDI name relative to the
1205
              java:comp/env context and must be unique within an
1206
              component.
1207
              
1208
            </xsd:documentation>
1209
          </xsd:annotation>
1210
          <xsd:selector xpath="javaee:resource-env-ref"/>
1211
          <xsd:field xpath="javaee:resource-env-ref-name"/>
1212
        </xsd:unique>
1213
        <xsd:unique name="entity-message-destination-ref-uniqueness">
1214
          <xsd:annotation>
1215
            <xsd:documentation>
1216
1217
              The message-destination-ref-name element specifies the name
1218
              of a message destination reference; its value is
1219
              the message destination reference name used in the component
1220
              code. The name is a JNDI name relative to the
1221
              java:comp/env context and must be unique within an
1222
              component.
1223
              
1224
            </xsd:documentation>
1225
          </xsd:annotation>
1226
          <xsd:selector xpath="javaee:message-destination-ref"/>
1227
          <xsd:field xpath="javaee:message-destination-ref-name"/>
1228
        </xsd:unique>
1229
        <xsd:unique name="entity-res-ref-name-uniqueness">
1230
          <xsd:annotation>
1231
            <xsd:documentation>
1232
1233
              The res-ref-name element specifies the name of a
1234
              resource manager connection factory reference.  The name
1235
              is a JNDI name relative to the java:comp/env context.
1236
              The name must be unique within an component.
1237
              
1238
            </xsd:documentation>
1239
          </xsd:annotation>
1240
          <xsd:selector xpath="javaee:resource-ref"/>
1241
          <xsd:field xpath="javaee:res-ref-name"/>
1242
        </xsd:unique>
1243
        <xsd:unique name="entity-env-entry-name-uniqueness">
1244
          <xsd:annotation>
1245
            <xsd:documentation>
1246
1247
              The env-entry-name element contains the name of a
1248
              component's environment entry.  The name is a JNDI
1249
              name relative to the java:comp/env context.  The
1250
              name must be unique within an component.
1251
              
1252
            </xsd:documentation>
1253
          </xsd:annotation>
1254
          <xsd:selector xpath="javaee:env-entry"/>
1255
          <xsd:field xpath="javaee:env-entry-name"/>
1256
        </xsd:unique>
1257
      </xsd:element>
1258
      <xsd:element name="message-driven"
1259
                   type="javaee:message-driven-beanType">
1260
        <xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
1261
          <xsd:annotation>
1262
            <xsd:documentation>
1263
1264
              The ejb-ref-name element contains the name of
1265
              an EJB reference. The EJB reference is an entry in
1266
              the component's environment and is relative to the
1267
              java:comp/env context.  The name must be unique within
1268
              the component.
1269
              
1270
              It is recommended that name be prefixed with "ejb/".
1271
              
1272
            </xsd:documentation>
1273
          </xsd:annotation>
1274
          <xsd:selector xpath="javaee:ejb-local-ref"/>
1275
          <xsd:field xpath="javaee:ejb-ref-name"/>
1276
        </xsd:unique>
1277
        <xsd:unique name="messaged-ejb-ref-name-uniqueness">
1278
          <xsd:annotation>
1279
            <xsd:documentation>
1280
1281
              The ejb-ref-name element contains the name of an EJB
1282
              reference. The EJB reference is an entry in the
1283
              component's environment and is relative to the
1284
              java:comp/env context. The name must be unique
1285
              within the component.
1286
              
1287
              It is recommended that name is prefixed with "ejb/".
1288
              
1289
            </xsd:documentation>
1290
          </xsd:annotation>
1291
          <xsd:selector xpath="javaee:ejb-ref"/>
1292
          <xsd:field xpath="javaee:ejb-ref-name"/>
1293
        </xsd:unique>
1294
        <xsd:unique name="messaged-resource-env-ref-uniqueness">
1295
          <xsd:annotation>
1296
            <xsd:documentation>
1297
1298
              The resource-env-ref-name element specifies the name
1299
              of a resource environment reference; its value is
1300
              the environment entry name used in the component
1301
              code. The name is a JNDI name relative to the
1302
              java:comp/env context and must be unique within an
1303
              component.
1304
              
1305
            </xsd:documentation>
1306
          </xsd:annotation>
1307
          <xsd:selector xpath="javaee:resource-env-ref"/>
1308
          <xsd:field xpath="javaee:resource-env-ref-name"/>
1309
        </xsd:unique>
1310
        <xsd:unique name="messaged-message-destination-ref-uniqueness">
1311
          <xsd:annotation>
1312
            <xsd:documentation>
1313
1314
              The message-destination-ref-name element specifies the name
1315
              of a message destination reference; its value is
1316
              the message destination reference name used in the component
1317
              code. The name is a JNDI name relative to the
1318
              java:comp/env context and must be unique within an
1319
              component.
1320
              
1321
            </xsd:documentation>
1322
          </xsd:annotation>
1323
          <xsd:selector xpath="javaee:message-destination-ref"/>
1324
          <xsd:field xpath="javaee:message-destination-ref-name"/>
1325
        </xsd:unique>
1326
        <xsd:unique name="messaged-res-ref-name-uniqueness">
1327
          <xsd:annotation>
1328
            <xsd:documentation>
1329
1330
              The res-ref-name element specifies the name of a
1331
              resource manager connection factory reference.  The name
1332
              is a JNDI name relative to the java:comp/env context.
1333
              The name must be unique within an component.
1334
              
1335
            </xsd:documentation>
1336
          </xsd:annotation>
1337
          <xsd:selector xpath="javaee:resource-ref"/>
1338
          <xsd:field xpath="javaee:res-ref-name"/>
1339
        </xsd:unique>
1340
        <xsd:unique name="messaged-env-entry-name-uniqueness">
1341
          <xsd:annotation>
1342
            <xsd:documentation>
1343
1344
              The env-entry-name element contains the name of a
1345
              component's environment entry.  The name is a JNDI
1346
              name relative to the java:comp/env context.  The
1347
              name must be unique within an component.
1348
              
1349
            </xsd:documentation>
1350
          </xsd:annotation>
1351
          <xsd:selector xpath="javaee:env-entry"/>
1352
          <xsd:field xpath="javaee:env-entry-name"/>
1353
        </xsd:unique>
1354
      </xsd:element>
1355
    </xsd:choice>
1356
    <xsd:attribute name="id"
1357
                   type="xsd:ID"/>
1358
  </xsd:complexType>
1359
1360
1361
<!-- **************************************************** -->
1362
1363
  <xsd:complexType name="entity-beanType">
1364
    <xsd:annotation>
1365
      <xsd:documentation>
1366
1367
        The entity-beanType declares an entity bean. The declaration
1368
        consists of:
1369
        
1370
        - an optional description
1371
        - an optional display name
1372
        - an optional icon element that contains a small and a large 
1373
        icon file name
1374
        - a unique name assigned to the enterprise bean
1375
        in the deployment descriptor
1376
        - an optional mapped-name element that can be used to provide
1377
        vendor-specific deployment information such as the physical
1378
        jndi-name of the entity bean's remote home interface. This 
1379
        element is not required to be supported by all implementations.
1380
        Any use of this element is non-portable.
1381
        - the names of the entity bean's remote home 
1382
        and remote interfaces, if any
1383
        - the names of the entity bean's local home and local
1384
        interfaces, if any
1385
        - the entity bean's implementation class
1386
        - the optional entity bean's persistence management type. If 
1387
        this element is not specified it is defaulted to Container.
1388
        - the entity bean's primary key class name
1389
        - an indication of the entity bean's reentrancy
1390
        - an optional specification of the 
1391
        entity bean's cmp-version
1392
        - an optional specification of the entity bean's
1393
        abstract schema name
1394
        - an optional list of container-managed fields
1395
        - an optional specification of the primary key 
1396
        field
1397
        - an optional declaration of the bean's environment 
1398
        entries
1399
        - an optional declaration of the bean's EJB 
1400
        references
1401
        - an optional declaration of the bean's local 
1402
        EJB references
1403
        - an optional declaration of the bean's web 
1404
        service references
1405
        - an optional declaration of the security role 
1406
        references
1407
        - an optional declaration of the security identity
1408
        to be used for the execution of the bean's methods
1409
        - an optional declaration of the bean's 
1410
        resource manager connection factory references
1411
        - an optional declaration of the bean's
1412
        resource environment references
1413
        - an optional declaration of the bean's message 
1414
        destination references
1415
        - an optional set of query declarations
1416
        for finder and select methods for an entity
1417
        bean with cmp-version 2.x.
1418
        
1419
        The optional abstract-schema-name element must be specified
1420
        for an entity bean with container-managed persistence and
1421
        cmp-version 2.x.
1422
        
1423
        The optional primkey-field may be present in the descriptor
1424
        if the entity's persistence-type is Container.
1425
        
1426
        The optional cmp-version element may be present in the
1427
        descriptor if the entity's persistence-type is Container. If
1428
        the persistence-type is Container and the cmp-version
1429
        element is not specified, its value defaults to 2.x.
1430
        
1431
        The optional home and remote elements must be specified if
1432
        the entity bean cmp-version is 1.x.
1433
        
1434
        The optional home and remote elements must be specified if
1435
        the entity bean has a remote home and remote interface.
1436
        
1437
        The optional local-home and local elements must be specified
1438
        if the entity bean has a local home and local interface.
1439
        
1440
        Either both the local-home and the local elements or both
1441
        the home and the remote elements must be specified.
1442
        
1443
        The optional query elements must be present if the
1444
        persistence-type is Container and the cmp-version is 2.x and
1445
        query methods other than findByPrimaryKey have been defined
1446
        for the entity bean.
1447
        
1448
        The other elements that are optional are "optional" in the
1449
        sense that they are omitted if the lists represented by them
1450
        are empty.
1451
        
1452
        At least one cmp-field element must be present in the
1453
        descriptor if the entity's persistence-type is Container and
1454
        the cmp-version is 1.x, and none must not be present if the
1455
        entity's persistence-type is Bean.
1456
        
1457
      </xsd:documentation>
1458
    </xsd:annotation>
1459
    <xsd:sequence>
1460
      <xsd:group ref="javaee:descriptionGroup"/>
1461
      <xsd:element name="ejb-name"
1462
                   type="javaee:ejb-nameType"/>
1463
      <xsd:element name="mapped-name"
1464
                   type="javaee:xsdStringType"
1465
                   minOccurs="0"/>
1466
      <xsd:element name="home"
1467
                   type="javaee:homeType"
1468
                   minOccurs="0"/>
1469
      <xsd:element name="remote"
1470
                   type="javaee:remoteType"
1471
                   minOccurs="0"/>
1472
      <xsd:element name="local-home"
1473
                   type="javaee:local-homeType"
1474
                   minOccurs="0"/>
1475
      <xsd:element name="local"
1476
                   type="javaee:localType"
1477
                   minOccurs="0"/>
1478
      <xsd:element name="ejb-class"
1479
                   type="javaee:ejb-classType"/>
1480
      <xsd:element name="persistence-type"
1481
                   type="javaee:persistence-typeType"/>
1482
      <xsd:element name="prim-key-class"
1483
                   type="javaee:fully-qualified-classType">
1484
        <xsd:annotation>
1485
          <xsd:documentation>
1486
1487
            The prim-key-class element contains the
1488
            fully-qualified name of an
1489
            entity bean's primary key class.
1490
            
1491
            If the definition of the primary key class is
1492
            deferred to deployment time, the prim-key-class 
1493
            element should specify java.lang.Object.
1494
            
1495
          </xsd:documentation>
1496
        </xsd:annotation>
1497
      </xsd:element>
1498
      <xsd:element name="reentrant"
1499
                   type="javaee:true-falseType">
1500
        <xsd:annotation>
1501
          <xsd:documentation>
1502
1503
            The reentrant element specifies whether an entity
1504
            bean is reentrant or not.
1505
            
1506
            The reentrant element must be one of the two
1507
            following: true or false
1508
            
1509
          </xsd:documentation>
1510
        </xsd:annotation>
1511
      </xsd:element>
1512
      <xsd:element name="cmp-version"
1513
                   type="javaee:cmp-versionType"
1514
                   minOccurs="0"/>
1515
      <xsd:element name="abstract-schema-name"
1516
                   type="javaee:java-identifierType"
1517
                   minOccurs="0">
1518
        <xsd:annotation>
1519
          <xsd:documentation>
1520
1521
            The abstract-schema-name element specifies the name
1522
            of the abstract schema type of an entity bean with 
1523
            cmp-version 2.x. It is used in EJB QL queries. 
1524
            
1525
            For example, the abstract-schema-name for an entity 
1526
            bean whose local interface is 
1527
            com.acme.commerce.Order might be Order. 
1528
            
1529
          </xsd:documentation>
1530
        </xsd:annotation>
1531
      </xsd:element>
1532
      <xsd:element name="cmp-field"
1533
                   type="javaee:cmp-fieldType"
1534
                   minOccurs="0"
1535
                   maxOccurs="unbounded"/>
1536
      <xsd:element name="primkey-field"
1537
                   type="javaee:string"
1538
                   minOccurs="0">
1539
        <xsd:annotation>
1540
          <xsd:documentation>
1541
1542
            The primkey-field element is used to specify the
1543
            name of the primary key field for an entity with
1544
            container-managed persistence.
1545
            
1546
            The primkey-field must be one of the fields declared
1547
            in the cmp-field element, and the type of the field
1548
            must be the same as the primary key type.
1549
            
1550
            The primkey-field element is not used if the primary
1551
            key maps to multiple container-managed fields
1552
            (i.e. the key is a compound key). In this case, the
1553
            fields of the primary key class must be public, and
1554
            their names must correspond to the field names of
1555
            the entity bean class that comprise the key.
1556
            
1557
          </xsd:documentation>
1558
        </xsd:annotation>
1559
      </xsd:element>
1560
      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
1561
      <xsd:element name="security-role-ref"
1562
                   type="javaee:security-role-refType"
1563
                   minOccurs="0"
1564
                   maxOccurs="unbounded"/>
1565
      <xsd:element name="security-identity"
1566
                   type="javaee:security-identityType"
1567
                   minOccurs="0"/>
1568
      <xsd:element name="query"
1569
                   type="javaee:queryType"
1570
                   minOccurs="0"
1571
                   maxOccurs="unbounded"/>
1572
    </xsd:sequence>
1573
    <xsd:attribute name="id"
1574
                   type="xsd:ID"/>
1575
  </xsd:complexType>
1576
1577
1578
<!-- **************************************************** -->
1579
1580
  <xsd:complexType name="exclude-listType">
1581
    <xsd:annotation>
1582
      <xsd:documentation>
1583
1584
        The exclude-listType specifies one or more methods which
1585
        the Assembler marks to be uncallable.
1586
        
1587
        If the method permission relation contains methods that are
1588
        in the exclude list, the Deployer should consider those
1589
        methods to be uncallable.
1590
        
1591
      </xsd:documentation>
1592
    </xsd:annotation>
1593
    <xsd:sequence>
1594
      <xsd:element name="description"
1595
                   type="javaee:descriptionType"
1596
                   minOccurs="0"
1597
                   maxOccurs="unbounded"/>
1598
      <xsd:element name="method"
1599
                   type="javaee:methodType"
1600
                   maxOccurs="unbounded"/>
1601
    </xsd:sequence>
1602
    <xsd:attribute name="id"
1603
                   type="xsd:ID"/>
1604
  </xsd:complexType>
1605
1606
1607
<!-- **************************************************** -->
1608
1609
  <xsd:complexType name="application-exceptionType">
1610
    <xsd:annotation>
1611
      <xsd:documentation>
1612
1613
        The application-exceptionType declares an application
1614
        exception. The declaration consists of:
1615
        
1616
        - the exception class. When the container receives
1617
        an exception of this type, it is required to 
1618
        forward this exception as an applcation exception 
1619
        to the client regardless of whether it is a checked
1620
        or unchecked exception.
1621
        - an optional rollback element. If this element is 
1622
        set to true, the container must rollback the current 
1623
        transaction before forwarding the exception to the
1624
        client.  If not specified, it defaults to false.
1625
        - an optional inherited element. If this element is 
1626
        set to true, subclasses of the exception class type
1627
        are also automatically considered application 
1628
        exceptions (unless overriden at a lower level).
1629
        If set to false, only the exception class type is
1630
        considered an application-exception, not its
1631
        exception subclasses. If not specified, this
1632
        value defaults to true.
1633
        
1634
      </xsd:documentation>
1635
    </xsd:annotation>
1636
    <xsd:sequence>
1637
      <xsd:element name="exception-class"
1638
                   type="javaee:fully-qualified-classType"/>
1639
      <xsd:element name="rollback"
1640
                   type="javaee:true-falseType"
1641
                   minOccurs="0"/>
1642
      <xsd:element name="inherited"
1643
                   type="javaee:true-falseType"
1644
                   minOccurs="0"/>
1645
    </xsd:sequence>
1646
    <xsd:attribute name="id"
1647
                   type="xsd:ID"/>
1648
  </xsd:complexType>
1649
1650
1651
<!-- **************************************************** -->
1652
1653
  <xsd:complexType name="interceptorsType">
1654
    <xsd:annotation>
1655
      <xsd:documentation>
1656
1657
        The interceptorsType element declares one or more interceptor
1658
        classes used by components within this ejb-jar file or .war file.  The declaration
1659
        consists of :
1660
        
1661
        - An optional description.
1662
        - One or more interceptor elements.
1663
        
1664
      </xsd:documentation>
1665
    </xsd:annotation>
1666
    <xsd:sequence>
1667
      <xsd:element name="description"
1668
                   type="javaee:descriptionType"
1669
                   minOccurs="0"
1670
                   maxOccurs="unbounded"/>
1671
      <xsd:element name="interceptor"
1672
                   type="javaee:interceptorType"
1673
                   maxOccurs="unbounded"/>
1674
    </xsd:sequence>
1675
    <xsd:attribute name="id"
1676
                   type="xsd:ID"/>
1677
  </xsd:complexType>
1678
1679
1680
<!-- **************************************************** -->
1681
1682
  <xsd:complexType name="interceptorType">
1683
    <xsd:annotation>
1684
      <xsd:documentation>
1685
1686
        The interceptorType element declares information about a single
1687
        interceptor class.  It consists of :
1688
        
1689
        - An optional description.
1690
        - The fully-qualified name of the interceptor class.
1691
        - An optional list of around invoke methods declared on the
1692
        interceptor class and/or its super-classes.
1693
        - An optional list of around timeout methods declared on the
1694
        interceptor class and/or its super-classes.
1695
        - An optional list environment dependencies for the interceptor
1696
        class and/or its super-classes.
1697
        - An optional list of post-activate methods declared on the
1698
        interceptor class and/or its super-classes.
1699
        - An optional list of pre-passivate methods declared on the
1700
        interceptor class and/or its super-classes.
1701
        
1702
      </xsd:documentation>
1703
    </xsd:annotation>
1704
    <xsd:sequence>
1705
      <xsd:element name="description"
1706
                   type="javaee:descriptionType"
1707
                   minOccurs="0"
1708
                   maxOccurs="unbounded"/>
1709
      <xsd:element name="interceptor-class"
1710
                   type="javaee:fully-qualified-classType"/>
1711
      <xsd:element name="around-invoke"
1712
                   type="javaee:around-invokeType"
1713
                   minOccurs="0"
1714
                   maxOccurs="unbounded"/>
1715
      <xsd:element name="around-timeout"
1716
                   type="javaee:around-timeoutType"
1717
                   minOccurs="0"
1718
                   maxOccurs="unbounded"/>
1719
      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
1720
      <xsd:element name="post-activate"
1721
                   type="javaee:lifecycle-callbackType"
1722
                   minOccurs="0"
1723
                   maxOccurs="unbounded"/>
1724
      <xsd:element name="pre-passivate"
1725
                   type="javaee:lifecycle-callbackType"
1726
                   minOccurs="0"
1727
                   maxOccurs="unbounded"/>
1728
    </xsd:sequence>
1729
    <xsd:attribute name="id"
1730
                   type="xsd:ID"/>
1731
  </xsd:complexType>
1732
1733
1734
<!-- **************************************************** -->
1735
1736
  <xsd:complexType name="interceptor-bindingType">
1737
    <xsd:annotation>
1738
      <xsd:documentation>
1739
        <![CDATA[[
1740
        The interceptor-bindingType element describes the binding of
1741
        interceptor classes to beans within the ejb-jar file or .war file.
1742
        It consists of :
1743
        
1744
        - An optional description.
1745
        - The name of an ejb within the module or the wildcard value "*",
1746
        which is used to define interceptors that are bound to all
1747
        beans in the ejb-jar file or .war file.
1748
        - A list of interceptor classes that are bound to the contents of
1749
        the ejb-name element or a specification of the total ordering
1750
        over the interceptors defined for the given level and above.
1751
        - An optional exclude-default-interceptors element.  If set to true,
1752
        specifies that default interceptors are not to be applied to 
1753
        a bean-class and/or business method.
1754
        - An optional exclude-class-interceptors element.  If set to true,
1755
        specifies that class interceptors are not to be applied to 
1756
        a business method.
1757
        - An optional set of method elements for describing the name/params
1758
        of a method-level interceptor.
1759
        
1760
        Interceptors bound to all classes using the wildcard syntax
1761
        "*" are default interceptors for the components in the ejb-jar file or .war file. 
1762
        In addition, interceptors may be bound at the level of the bean
1763
        class (class-level interceptors) or business methods (method-level
1764
        interceptors ).
1765
        
1766
        The binding of interceptors to classes is additive.  If interceptors
1767
        are bound at the class-level and/or default-level as well as the
1768
        method-level, both class-level and/or default-level as well as
1769
        method-level will apply. 
1770
        
1771
        There are four possible styles of the interceptor element syntax :
1772
        
1773
        1.
1774
        <interceptor-binding>
1775
        <ejb-name>*</ejb-name>
1776
        <interceptor-class>INTERCEPTOR</interceptor-class>
1777
        </interceptor-binding>
1778
        
1779
        Specifying the ejb-name as the wildcard value "*" designates
1780
        default interceptors (interceptors that apply to all session and
1781
        message-driven beans contained in the ejb-jar file or .war file).
1782
        
1783
        2. 
1784
        <interceptor-binding>
1785
        <ejb-name>EJBNAME</ejb-name>
1786
        <interceptor-class>INTERCEPTOR</interceptor-class>
1787
        </interceptor-binding>
1788
        
1789
        This style is used to refer to interceptors associated with the
1790
        specified enterprise bean(class-level interceptors).
1791
        
1792
        3. 
1793
        <interceptor-binding>
1794
        <ejb-name>EJBNAME</ejb-name>
1795
        <interceptor-class>INTERCEPTOR</interceptor-class>
1796
        <method>
1797
        <method-name>METHOD</method-name>
1798
        </method>
1799
        </interceptor-binding>
1800
        
1801
        This style is used to associate a method-level interceptor with 
1802
        the specified enterprise bean.  If there are multiple methods
1803
        with the same overloaded name, the element of this style refers
1804
        to all the methods with the overloaded name.  Method-level
1805
        interceptors can only be associated with business methods of the
1806
        bean class.   Note that the wildcard value "*" cannot be used
1807
        to specify method-level interceptors.
1808
        
1809
        4. 
1810
        <interceptor-binding>
1811
        <ejb-name>EJBNAME</ejb-name>
1812
        <interceptor-class>INTERCEPTOR</interceptor-class>
1813
        <method>
1814
        <method-name>METHOD</method-name>
1815
        <method-params>
1816
        <method-param>PARAM-1</method-param>
1817
        <method-param>PARAM-2</method-param>
1818
        ...
1819
        <method-param>PARAM-N</method-param>
1820
        </method-params>
1821
        </method>
1822
        </interceptor-binding>
1823
        
1824
        This style is used to associate a method-level interceptor with 
1825
        the specified method of the specified enterprise bean.  This 
1826
        style is used to refer to a single method within a set of methods
1827
        with an overloaded name.  The values PARAM-1 through PARAM-N
1828
        are the fully-qualified Java types of the method's input parameters
1829
        (if the method has no input arguments, the method-params element
1830
        contains no method-param elements). Arrays are specified by the
1831
        array element's type, followed by one or more pair of square 
1832
        brackets (e.g. int[][]).
1833
        
1834
        ]]>
1835
      </xsd:documentation>
1836
    </xsd:annotation>
1837
    <xsd:sequence>
1838
      <xsd:element name="description"
1839
                   type="javaee:descriptionType"
1840
                   minOccurs="0"
1841
                   maxOccurs="unbounded"/>
1842
      <xsd:element name="ejb-name"
1843
                   type="javaee:string"/>
1844
      <xsd:choice>
1845
        <xsd:element name="interceptor-class"
1846
                     type="javaee:fully-qualified-classType"
1847
                     minOccurs="0"
1848
                     maxOccurs="unbounded"/>
1849
        <xsd:element name="interceptor-order"
1850
                     type="javaee:interceptor-orderType"
1851
                     minOccurs="1"/>
1852
      </xsd:choice>
1853
      <xsd:element name="exclude-default-interceptors"
1854
                   type="javaee:true-falseType"
1855
                   minOccurs="0"/>
1856
      <xsd:element name="exclude-class-interceptors"
1857
                   type="javaee:true-falseType"
1858
                   minOccurs="0"/>
1859
      <xsd:element name="method"
1860
                   type="javaee:named-methodType"
1861
                   minOccurs="0"/>
1862
    </xsd:sequence>
1863
    <xsd:attribute name="id"
1864
                   type="xsd:ID"/>
1865
  </xsd:complexType>
1866
1867
1868
<!-- **************************************************** -->
1869
1870
  <xsd:complexType name="interceptor-orderType">
1871
    <xsd:annotation>
1872
      <xsd:documentation>
1873
1874
        The interceptor-orderType element describes a total ordering
1875
        of interceptor classes.
1876
        
1877
      </xsd:documentation>
1878
    </xsd:annotation>
1879
    <xsd:sequence>
1880
      <xsd:element name="interceptor-class"
1881
                   type="javaee:fully-qualified-classType"
1882
                   minOccurs="1"
1883
                   maxOccurs="unbounded"/>
1884
    </xsd:sequence>
1885
    <xsd:attribute name="id"
1886
                   type="xsd:ID"/>
1887
  </xsd:complexType>
1888
1889
1890
<!-- **************************************************** -->
1891
1892
  <xsd:complexType name="named-methodType">
1893
    <xsd:sequence>
1894
      <xsd:element name="method-name"
1895
                   type="javaee:string"/>
1896
      <xsd:element name="method-params"
1897
                   type="javaee:method-paramsType"
1898
                   minOccurs="0"/>
1899
    </xsd:sequence>
1900
    <xsd:attribute name="id"
1901
                   type="xsd:ID"/>
1902
  </xsd:complexType>
1903
1904
1905
<!-- **************************************************** -->
1906
1907
  <xsd:complexType name="init-methodType">
1908
    <xsd:sequence>
1909
      <xsd:element name="create-method"
1910
                   type="javaee:named-methodType"/>
1911
      <xsd:element name="bean-method"
1912
                   type="javaee:named-methodType"/>
1913
    </xsd:sequence>
1914
    <xsd:attribute name="id"
1915
                   type="xsd:ID"/>
1916
  </xsd:complexType>
1917
1918
1919
<!-- **************************************************** -->
1920
1921
  <xsd:complexType name="remove-methodType">
1922
    <xsd:sequence>
1923
      <xsd:element name="bean-method"
1924
                   type="javaee:named-methodType"/>
1925
      <xsd:element name="retain-if-exception"
1926
                   type="javaee:true-falseType"
1927
                   minOccurs="0"/>
1928
    </xsd:sequence>
1929
    <xsd:attribute name="id"
1930
                   type="xsd:ID"/>
1931
  </xsd:complexType>
1932
1933
1934
<!-- **************************************************** -->
1935
1936
  <xsd:complexType name="message-driven-beanType">
1937
    <xsd:annotation>
1938
      <xsd:documentation>
1939
1940
        The message-driven element declares a message-driven
1941
        bean. The declaration consists of:
1942
        
1943
        - an optional description
1944
        - an optional display name
1945
        - an optional icon element that contains a small and a large 
1946
        icon file name. 
1947
        - a name assigned to the enterprise bean in
1948
        the deployment descriptor
1949
        - an optional mapped-name element that can be used to provide
1950
        vendor-specific deployment information such as the physical
1951
        jndi-name of destination from which this message-driven bean
1952
        should consume.  This element is not required to be supported 
1953
        by all implementations.  Any use of this element is non-portable.
1954
        - the message-driven bean's implementation class
1955
        - an optional declaration of the bean's messaging 
1956
        type 
1957
        - an optional declaration of the bean's timeout method for
1958
        handling programmatically created timers
1959
        - an optional declaration of timers to be automatically created at
1960
        deployment time
1961
        - the optional message-driven bean's transaction management 
1962
        type. If it is not defined, it is defaulted to Container.
1963
        - an optional declaration of the bean's 
1964
        message-destination-type
1965
        - an optional declaration of the bean's 
1966
        message-destination-link
1967
        - an optional declaration of the message-driven bean's
1968
        activation configuration properties
1969
        - an optional list of the message-driven bean class and/or
1970
        superclass around-invoke methods.
1971
        - an optional list of the message-driven bean class and/or
1972
        superclass around-timeout methods.
1973
        - an optional declaration of the bean's environment
1974
        entries
1975
        - an optional declaration of the bean's EJB references
1976
        - an optional declaration of the bean's local EJB
1977
        references
1978
        - an optional declaration of the bean's web service
1979
        references
1980
        - an optional declaration of the security role 
1981
        references
1982
        - an optional declaration of the security
1983
        identity to be used for the execution of the bean's
1984
        methods
1985
        - an optional declaration of the bean's 
1986
        resource manager connection factory 
1987
        references
1988
        - an optional declaration of the bean's resource
1989
        environment references.
1990
        - an optional declaration of the bean's message 
1991
        destination references
1992
        
1993
      </xsd:documentation>
1994
    </xsd:annotation>
1995
    <xsd:sequence>
1996
      <xsd:group ref="javaee:descriptionGroup"/>
1997
      <xsd:element name="ejb-name"
1998
                   type="javaee:ejb-nameType"/>
1999
      <xsd:element name="mapped-name"
2000
                   type="javaee:xsdStringType"
2001
                   minOccurs="0"/>
2002
      <xsd:element name="ejb-class"
2003
                   type="javaee:ejb-classType"
2004
                   minOccurs="0">
2005
        <xsd:annotation>
2006
          <xsd:documentation>
2007
2008
            The ejb-class element specifies the fully qualified name
2009
            of the bean class for this ejb.  It is required unless
2010
            there is a component-defining annotation for the same
2011
            ejb-name.
2012
            
2013
          </xsd:documentation>
2014
        </xsd:annotation>
2015
      </xsd:element>
2016
      <xsd:element name="messaging-type"
2017
                   type="javaee:fully-qualified-classType"
2018
                   minOccurs="0">
2019
        <xsd:annotation>
2020
          <xsd:documentation>
2021
2022
            The messaging-type element specifies the message
2023
            listener interface of the message-driven bean. 
2024
            
2025
          </xsd:documentation>
2026
        </xsd:annotation>
2027
      </xsd:element>
2028
      <xsd:element name="timeout-method"
2029
                   type="javaee:named-methodType"
2030
                   minOccurs="0">
2031
        <xsd:annotation>
2032
          <xsd:documentation>
2033
2034
            The timeout-method element specifies the method that
2035
            will receive callbacks for programmatically
2036
            created timers.
2037
            
2038
          </xsd:documentation>
2039
        </xsd:annotation>
2040
      </xsd:element>
2041
      <xsd:element name="timer"
2042
                   type="javaee:timerType"
2043
                   minOccurs="0"
2044
                   maxOccurs="unbounded"/>
2045
      <xsd:element name="transaction-type"
2046
                   type="javaee:transaction-typeType"
2047
                   minOccurs="0"/>
2048
      <xsd:element name="message-destination-type"
2049
                   type="javaee:message-destination-typeType"
2050
                   minOccurs="0"/>
2051
      <xsd:element name="message-destination-link"
2052
                   type="javaee:message-destination-linkType"
2053
                   minOccurs="0"/>
2054
      <xsd:element name="activation-config"
2055
                   type="javaee:activation-configType"
2056
                   minOccurs="0"/>
2057
      <xsd:element name="around-invoke"
2058
                   type="javaee:around-invokeType"
2059
                   minOccurs="0"
2060
                   maxOccurs="unbounded"/>
2061
      <xsd:element name="around-timeout"
2062
                   type="javaee:around-timeoutType"
2063
                   minOccurs="0"
2064
                   maxOccurs="unbounded"/>
2065
      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
2066
      <xsd:element name="security-role-ref"
2067
                   type="javaee:security-role-refType"
2068
                   minOccurs="0"
2069
                   maxOccurs="unbounded">
2070
      </xsd:element>
2071
      <xsd:element name="security-identity"
2072
                   type="javaee:security-identityType"
2073
                   minOccurs="0"/>
2074
    </xsd:sequence>
2075
    <xsd:attribute name="id"
2076
                   type="xsd:ID"/>
2077
  </xsd:complexType>
2078
2079
2080
<!-- **************************************************** -->
2081
2082
  <xsd:complexType name="methodType">
2083
    <xsd:annotation>
2084
      <xsd:documentation>
2085
        <![CDATA[[
2086
        The methodType is used to denote a method of an enterprise
2087
        bean.  The method may be any of the following or a set of
2088
        any of the following methods may be designated:
2089
        business interface method
2090
        home interface method
2091
        component interface method
2092
        web service endpoint interface method
2093
        no-interface view method
2094
        singleton session bean lifecycle callback method
2095
        stateful session bean lifecycle callback method (see 
2096
        limitations)
2097
        timeout callback method
2098
        message-driven bean message listener method
2099
        
2100
        The ejb-name element must be the name of one of the enterprise 
2101
        beans declared in the deployment descriptor.
2102
        The optional method-intf element allows distinguishing between a
2103
        method with the same signature that is multiply defined
2104
        across any of the above.
2105
        The method-name element specifies the method name.
2106
        The optional method-params elements identify a single method 
2107
        among multiple methods with an overloaded method name.
2108
        
2109
        There are three possible styles of using methodType element
2110
        within a method element:
2111
        
2112
        1.
2113
        <method>
2114
        <ejb-name>EJBNAME</ejb-name>
2115
        <method-name>*</method-name>
2116
        </method>
2117
        
2118
        This style is used to refer to all of the following methods 
2119
        of the specified enterprise bean:
2120
        business interface methods
2121
        home interface methods
2122
        component interface methods
2123
        web service endpoint interface methods
2124
        no-interface view methods
2125
        singleton session bean lifecycle callback methods
2126
        timeout callback methods
2127
        message-driven bean message listener method
2128
        
2129
        This style may be used for stateful session bean lifecycle 
2130
        callback methods to specify their transaction attributes, 
2131
        if used with the method-intf element that contains 
2132
        LifecycleCallback as the value.
2133
        
2134
        2.
2135
        <method>
2136
        <ejb-name>EJBNAME</ejb-name>
2137
        <method-name>METHOD</method-name>
2138
        </method>
2139
        
2140
        This style is used to refer to the specified method of
2141
        the specified enterprise bean. If there are multiple
2142
        methods with the same overloaded name, the element of
2143
        this style refers to all the methods with the overloaded
2144
        name.
2145
        
2146
        This style may be used to refer to stateful session bean
2147
        lifecycle callback methods to specify their transaction
2148
        attributes if any of the following is true:
2149
        there is only one method with this name in the specified 
2150
        enterprise bean
2151
        all overloaded methods with this name in the specified 
2152
        enterprise bean are lifecycle callback methods
2153
        method-intf element is specified and it contains 
2154
        LifecycleCallback as the value 
2155
        
2156
        3.
2157
        <method>
2158
        <ejb-name>EJBNAME</ejb-name>
2159
        <method-name>METHOD</method-name>
2160
        <method-params>
2161
        	  <method-param>PARAM-1</method-param>
2162
        	  <method-param>PARAM-2</method-param>
2163
        	  ...
2164
        	  <method-param>PARAM-n</method-param>
2165
        </method-params>
2166
        </method>
2167
        
2168
        This style is used to refer to a single method within a
2169
        set of methods with an overloaded name. PARAM-1 through
2170
        PARAM-n are the fully-qualified Java types of the
2171
        method's input parameters (if the method has no input
2172
        arguments, the method-params element contains no
2173
        method-param elements). Arrays are specified by the
2174
        array element's type, followed by one or more pair of
2175
        square brackets (e.g. int[][]). 
2176
        If a method with the same name and signature is defined 
2177
        on more than one interface of an enterprise bean, this 
2178
        style refers to all those methods. 
2179
        
2180
        Examples:
2181
        
2182
        Style 1: The following method element refers to all of the
2183
        following methods of the EmployeeService bean:
2184
        no interface view methods
2185
        business interface methods   
2186
        home interface methods   
2187
        component business interface methods   
2188
        singleton session bean lifecycle callback methods, if any
2189
        timeout callback methods
2190
        web service endpoint interface methods
2191
        message-driven bean message listener methods (if the bean
2192
        a message-driven bean)
2193
        
2194
        <method>
2195
        <ejb-name>EmployeeService</ejb-name>
2196
        <method-name>*</method-name>
2197
        </method>
2198
        
2199
        Style 2: The following method element refers to all the
2200
        create methods of the EmployeeService bean's home
2201
        interface(s).
2202
        
2203
        <method>
2204
        <ejb-name>EmployeeService</ejb-name>
2205
        <method-name>create</method-name>
2206
        </method>
2207
        
2208
        Style 3: The following method element refers to the
2209
        create(String firstName, String LastName) method of the
2210
        EmployeeService bean's home interface(s).
2211
        
2212
        <method>
2213
        <ejb-name>EmployeeService</ejb-name>
2214
        <method-name>create</method-name>
2215
        <method-params>
2216
        	  <method-param>java.lang.String</method-param>
2217
        	  <method-param>java.lang.String</method-param>
2218
        </method-params>
2219
        </method>
2220
        
2221
        The following example illustrates a Style 3 element with
2222
        more complex parameter types. The method 
2223
        foobar(char s, int i, int[] iar, mypackage.MyClass mycl, 
2224
        mypackage.MyClass[][] myclaar) would be specified as:
2225
        
2226
        <method>
2227
        <ejb-name>EmployeeService</ejb-name>
2228
        <method-name>foobar</method-name>
2229
        <method-params>
2230
        	  <method-param>char</method-param>
2231
        	  <method-param>int</method-param>
2232
        	  <method-param>int[]</method-param>
2233
        	  <method-param>mypackage.MyClass</method-param>
2234
        	  <method-param>mypackage.MyClass[][]</method-param>
2235
        </method-params>
2236
        </method>
2237
        
2238
        The optional method-intf element can be used when it becomes
2239
        necessary to differentiate between a method that is defined
2240
        multiple times with the same name and signature across any
2241
        of the following methods of an enterprise bean:
2242
        business interface methods
2243
        home interface methods
2244
        component interface methods
2245
        web service endpoint methods
2246
        no-interface view methods
2247
        singleton or stateful session bean lifecycle callback methods
2248
        timeout callback methods
2249
        message-driven bean message listener methods
2250
        
2251
        However, if the same method is a method of both the local 
2252
        business interface, and the local component interface, 
2253
        the same attribute applies to the method for both interfaces.
2254
        Likewise, if the same method is a method of both the remote 
2255
        business interface and the remote component interface, the same
2256
        attribute applies to the method for both interfaces.
2257
        
2258
        For example, the method element
2259
        
2260
        <method>
2261
        <ejb-name>EmployeeService</ejb-name>
2262
        <method-intf>Remote</method-intf>
2263
        <method-name>create</method-name>
2264
        <method-params>
2265
        	  <method-param>java.lang.String</method-param>
2266
        	  <method-param>java.lang.String</method-param>
2267
        </method-params>
2268
        </method>
2269
        
2270
        can be used to differentiate the create(String, String)
2271
        method defined in the remote interface from the
2272
        create(String, String) method defined in the remote home
2273
        interface, which would be defined as
2274
        
2275
        <method>
2276
        <ejb-name>EmployeeService</ejb-name>
2277
        <method-intf>Home</method-intf>
2278
        <method-name>create</method-name>
2279
        <method-params>
2280
        	  <method-param>java.lang.String</method-param>
2281
        	  <method-param>java.lang.String</method-param>
2282
        </method-params>
2283
        </method>
2284
        
2285
        and the create method that is defined in the local home
2286
        interface which would be defined as
2287
        
2288
        <method>
2289
        <ejb-name>EmployeeService</ejb-name>
2290
        <method-intf>LocalHome</method-intf>
2291
        <method-name>create</method-name>
2292
        <method-params>
2293
        	  <method-param>java.lang.String</method-param>
2294
        	  <method-param>java.lang.String</method-param>
2295
        </method-params>
2296
        </method>
2297
        
2298
        The method-intf element can be used with all three Styles
2299
        of the method element usage. For example, the following
2300
        method element example could be used to refer to all the
2301
        methods of the EmployeeService bean's remote home interface
2302
        and the remote business interface.
2303
        
2304
        <method>
2305
        <ejb-name>EmployeeService</ejb-name>
2306
        <method-intf>Home</method-intf>
2307
        <method-name>*</method-name>
2308
        </method>
2309
        
2310
        ]]>
2311
      </xsd:documentation>
2312
    </xsd:annotation>
2313
    <xsd:sequence>
2314
      <xsd:element name="description"
2315
                   type="javaee:descriptionType"
2316
                   minOccurs="0"
2317
                   maxOccurs="unbounded"/>
2318
      <xsd:element name="ejb-name"
2319
                   type="javaee:ejb-nameType"/>
2320
      <xsd:element name="method-intf"
2321
                   type="javaee:method-intfType"
2322
                   minOccurs="0">
2323
      </xsd:element>
2324
      <xsd:element name="method-name"
2325
                   type="javaee:method-nameType"/>
2326
      <xsd:element name="method-params"
2327
                   type="javaee:method-paramsType"
2328
                   minOccurs="0"/>
2329
    </xsd:sequence>
2330
    <xsd:attribute name="id"
2331
                   type="xsd:ID"/>
2332
  </xsd:complexType>
2333
2334
2335
<!-- **************************************************** -->
2336
2337
  <xsd:complexType name="method-intfType">
2338
    <xsd:annotation>
2339
      <xsd:documentation>
2340
2341
        The method-intf element allows a method element to
2342
        differentiate between the methods with the same name and
2343
        signature that are multiply defined across the home and
2344
        component interfaces (e.g, in both an enterprise bean's
2345
        remote and local interfaces or in both an enterprise bean's
2346
        home and remote interfaces, etc.); the component and web
2347
        service endpoint interfaces, and so on. 
2348
        
2349
        Local applies to the local component interface, local business 
2350
        interfaces, and the no-interface view. 
2351
        
2352
        Remote applies to both remote component interface and the remote 
2353
        business interfaces.  
2354
        
2355
        ServiceEndpoint refers to methods exposed through a web service
2356
        endpoint.
2357
        
2358
        Timer refers to the bean's timeout callback methods.
2359
        
2360
        MessageEndpoint refers to the methods of a message-driven bean's
2361
        message-listener interface.
2362
        
2363
        LifecycleCallback refers to the lifecycle callback methods of 
2364
        a singleton or stateful session bean.
2365
        
2366
        The method-intf element must be one of the following:
2367
        
2368
        Home
2369
        Remote
2370
        LocalHome
2371
        Local
2372
        ServiceEndpoint
2373
        Timer
2374
        MessageEndpoint
2375
        LifecycleCallback
2376
        
2377
      </xsd:documentation>
2378
    </xsd:annotation>
2379
    <xsd:simpleContent>
2380
      <xsd:restriction base="javaee:string">
2381
        <xsd:enumeration value="Home"/>
2382
        <xsd:enumeration value="Remote"/>
2383
        <xsd:enumeration value="LocalHome"/>
2384
        <xsd:enumeration value="Local"/>
2385
        <xsd:enumeration value="ServiceEndpoint"/>
2386
        <xsd:enumeration value="Timer"/>
2387
        <xsd:enumeration value="MessageEndpoint"/>
2388
        <xsd:enumeration value="LifecycleCallback"/>
2389
      </xsd:restriction>
2390
    </xsd:simpleContent>
2391
  </xsd:complexType>
2392
2393
2394
<!-- **************************************************** -->
2395
2396
  <xsd:complexType name="method-nameType">
2397
    <xsd:annotation>
2398
      <xsd:documentation>
2399
2400
        The method-nameType contains a name of an enterprise
2401
        bean method or the asterisk (*) character. The asterisk is
2402
        used when the element denotes all the methods of an
2403
        enterprise bean's client view interfaces.
2404
        
2405
      </xsd:documentation>
2406
    </xsd:annotation>
2407
    <xsd:simpleContent>
2408
      <xsd:restriction base="javaee:string"/>
2409
    </xsd:simpleContent>
2410
  </xsd:complexType>
2411
2412
2413
<!-- **************************************************** -->
2414
2415
  <xsd:complexType name="method-paramsType">
2416
    <xsd:annotation>
2417
      <xsd:documentation>
2418
2419
        The method-paramsType defines a list of the
2420
        fully-qualified Java type names of the method parameters.
2421
        
2422
      </xsd:documentation>
2423
    </xsd:annotation>
2424
    <xsd:sequence>
2425
      <xsd:element name="method-param"
2426
                   type="javaee:java-typeType"
2427
                   minOccurs="0"
2428
                   maxOccurs="unbounded">
2429
        <xsd:annotation>
2430
          <xsd:documentation>
2431
2432
            The method-param element contains a primitive
2433
            or a fully-qualified Java type name of a method
2434
            parameter.
2435
            
2436
          </xsd:documentation>
2437
        </xsd:annotation>
2438
      </xsd:element>
2439
    </xsd:sequence>
2440
    <xsd:attribute name="id"
2441
                   type="xsd:ID"/>
2442
  </xsd:complexType>
2443
2444
2445
<!-- **************************************************** -->
2446
2447
  <xsd:complexType name="method-permissionType">
2448
    <xsd:annotation>
2449
      <xsd:documentation>
2450
2451
        The method-permissionType specifies that one or more
2452
        security roles are allowed to invoke one or more enterprise
2453
        bean methods. The method-permissionType consists of an
2454
        optional description, a list of security role names or an
2455
        indicator to state that the method is unchecked for
2456
        authorization, and a list of method elements.
2457
        
2458
        The security roles used in the method-permissionType
2459
        must be defined in the security-role elements of the
2460
        deployment descriptor, and the methods must be methods
2461
        defined in the enterprise bean's no-interface view, 
2462
        business, home, component and/or web service endpoint 
2463
        interfaces.
2464
        
2465
      </xsd:documentation>
2466
    </xsd:annotation>
2467
    <xsd:sequence>
2468
      <xsd:element name="description"
2469
                   type="javaee:descriptionType"
2470
                   minOccurs="0"
2471
                   maxOccurs="unbounded"/>
2472
      <xsd:choice>
2473
        <xsd:element name="role-name"
2474
                     type="javaee:role-nameType"
2475
                     maxOccurs="unbounded"/>
2476
        <xsd:element name="unchecked"
2477
                     type="javaee:emptyType">
2478
          <xsd:annotation>
2479
            <xsd:documentation>
2480
2481
              The unchecked element specifies that a method is
2482
              not checked for authorization by the container
2483
              prior to invocation of the method.
2484
              
2485
            </xsd:documentation>
2486
          </xsd:annotation>
2487
        </xsd:element>
2488
      </xsd:choice>
2489
      <xsd:element name="method"
2490
                   type="javaee:methodType"
2491
                   maxOccurs="unbounded"/>
2492
    </xsd:sequence>
2493
    <xsd:attribute name="id"
2494
                   type="xsd:ID"/>
2495
  </xsd:complexType>
2496
2497
2498
<!-- **************************************************** -->
2499
2500
  <xsd:complexType name="multiplicityType">
2501
    <xsd:annotation>
2502
      <xsd:documentation>
2503
2504
        The multiplicityType describes the multiplicity of the
2505
        role that participates in a relation.
2506
        
2507
        The value must be one of the two following:
2508
        
2509
        One
2510
        Many
2511
        
2512
      </xsd:documentation>
2513
    </xsd:annotation>
2514
    <xsd:simpleContent>
2515
      <xsd:restriction base="javaee:string">
2516
        <xsd:enumeration value="One"/>
2517
        <xsd:enumeration value="Many"/>
2518
      </xsd:restriction>
2519
    </xsd:simpleContent>
2520
  </xsd:complexType>
2521
2522
2523
<!-- **************************************************** -->
2524
2525
  <xsd:complexType name="persistence-typeType">
2526
    <xsd:annotation>
2527
      <xsd:documentation>
2528
2529
        The persistence-typeType specifies an entity bean's persistence
2530
        management type.
2531
        
2532
        The persistence-type element must be one of the two following:
2533
        
2534
        Bean
2535
        Container
2536
        
2537
      </xsd:documentation>
2538
    </xsd:annotation>
2539
    <xsd:simpleContent>
2540
      <xsd:restriction base="javaee:string">
2541
        <xsd:enumeration value="Bean"/>
2542
        <xsd:enumeration value="Container"/>
2543
      </xsd:restriction>
2544
    </xsd:simpleContent>
2545
  </xsd:complexType>
2546
2547
2548
<!-- **************************************************** -->
2549
2550
  <xsd:complexType name="queryType">
2551
    <xsd:annotation>
2552
      <xsd:documentation>
2553
2554
        The queryType defines a finder or select
2555
        query. It contains
2556
        - an optional description of the query
2557
        - the specification of the finder or select
2558
        method it is used by
2559
        	- an optional specification of the result type 
2560
        	  mapping, if the query is for a select method 
2561
        	  and entity objects are returned.
2562
        	- the EJB QL query string that defines the query.
2563
        
2564
        Queries that are expressible in EJB QL must use the ejb-ql
2565
        element to specify the query. If a query is not expressible
2566
        in EJB QL, the description element should be used to
2567
        describe the semantics of the query and the ejb-ql element
2568
        should be empty.
2569
        
2570
        The result-type-mapping is an optional element. It can only
2571
        be present if the query-method specifies a select method
2572
        that returns entity objects.  The default value for the
2573
        result-type-mapping element is "Local".
2574
        
2575
      </xsd:documentation>
2576
    </xsd:annotation>
2577
    <xsd:sequence>
2578
      <xsd:element name="description"
2579
                   type="javaee:descriptionType"
2580
                   minOccurs="0"/>
2581
      <xsd:element name="query-method"
2582
                   type="javaee:query-methodType"/>
2583
      <xsd:element name="result-type-mapping"
2584
                   type="javaee:result-type-mappingType"
2585
                   minOccurs="0"/>
2586
      <xsd:element name="ejb-ql"
2587
                   type="javaee:xsdStringType"/>
2588
    </xsd:sequence>
2589
    <xsd:attribute name="id"
2590
                   type="xsd:ID"/>
2591
  </xsd:complexType>
2592
2593
2594
<!-- **************************************************** -->
2595
2596
  <xsd:complexType name="query-methodType">
2597
    <xsd:annotation>
2598
      <xsd:documentation>
2599
        <![CDATA[[
2600
        The query-method specifies the method for a finder or select
2601
        query.
2602
        
2603
        The method-name element specifies the name of a finder or select
2604
        method in the entity bean's implementation class.
2605
        
2606
        Each method-param must be defined for a query-method using the
2607
        method-params element.
2608
        
2609
        It is used by the query-method element. 
2610
        
2611
        Example:
2612
        
2613
        <query>
2614
        <description>Method finds large orders</description>
2615
        <query-method>
2616
        	  <method-name>findLargeOrders</method-name>
2617
        	  <method-params></method-params>
2618
        </query-method>
2619
        <ejb-ql>
2620
        	SELECT OBJECT(o) FROM Order o
2621
        	  WHERE o.amount &gt; 1000
2622
        </ejb-ql>
2623
        </query>
2624
        
2625
        ]]>
2626
      </xsd:documentation>
2627
    </xsd:annotation>
2628
    <xsd:sequence>
2629
      <xsd:element name="method-name"
2630
                   type="javaee:method-nameType"/>
2631
      <xsd:element name="method-params"
2632
                   type="javaee:method-paramsType"/>
2633
    </xsd:sequence>
2634
    <xsd:attribute name="id"
2635
                   type="xsd:ID"/>
2636
  </xsd:complexType>
2637
2638
2639
<!-- **************************************************** -->
2640
2641
  <xsd:complexType name="relationship-role-sourceType">
2642
    <xsd:annotation>
2643
      <xsd:documentation>
2644
2645
        The relationship-role-sourceType designates the source of a
2646
        role that participates in a relationship. A
2647
        relationship-role-sourceType is used by
2648
        relationship-role-source elements to uniquely identify an
2649
        entity bean.
2650
        
2651
      </xsd:documentation>
2652
    </xsd:annotation>
2653
    <xsd:sequence>
2654
      <xsd:element name="description"
2655
                   type="javaee:descriptionType"
2656
                   minOccurs="0"
2657
                   maxOccurs="unbounded"/>
2658
      <xsd:element name="ejb-name"
2659
                   type="javaee:ejb-nameType"/>
2660
    </xsd:sequence>
2661
    <xsd:attribute name="id"
2662
                   type="xsd:ID"/>
2663
  </xsd:complexType>
2664
2665
2666
<!-- **************************************************** -->
2667
2668
  <xsd:complexType name="relationshipsType">
2669
    <xsd:annotation>
2670
      <xsd:documentation>
2671
2672
        The relationshipsType describes the relationships in
2673
        which entity beans with container-managed persistence
2674
        participate. The relationshipsType contains an optional
2675
        description; and a list of ejb-relation elements, which
2676
        specify the container managed relationships.
2677
        
2678
      </xsd:documentation>
2679
    </xsd:annotation>
2680
    <xsd:sequence>
2681
      <xsd:element name="description"
2682
                   type="javaee:descriptionType"
2683
                   minOccurs="0"
2684
                   maxOccurs="unbounded"/>
2685
      <xsd:element name="ejb-relation"
2686
                   type="javaee:ejb-relationType"
2687
                   maxOccurs="unbounded">
2688
        <xsd:unique name="role-name-uniqueness">
2689
          <xsd:annotation>
2690
            <xsd:documentation>
2691
2692
              The ejb-relationship-role-name contains the name of a
2693
              relationship role. The name must be unique within 
2694
              a relationship, but can be reused in different
2695
              relationships.
2696
              
2697
            </xsd:documentation>
2698
          </xsd:annotation>
2699
          <xsd:selector xpath=".//javaee:ejb-relationship-role-name"/>
2700
          <xsd:field xpath="."/>
2701
        </xsd:unique>
2702
      </xsd:element>
2703
    </xsd:sequence>
2704
    <xsd:attribute name="id"
2705
                   type="xsd:ID"/>
2706
  </xsd:complexType>
2707
2708
2709
<!-- **************************************************** -->
2710
2711
  <xsd:complexType name="result-type-mappingType">
2712
    <xsd:annotation>
2713
      <xsd:documentation>
2714
2715
        The result-type-mappingType is used in the query element to
2716
        specify whether an abstract schema type returned by a query
2717
        for a select method is to be mapped to an EJBLocalObject or
2718
        EJBObject type.
2719
        
2720
        The value must be one of the following:
2721
        
2722
        Local
2723
        Remote
2724
        
2725
      </xsd:documentation>
2726
    </xsd:annotation>
2727
    <xsd:simpleContent>
2728
      <xsd:restriction base="javaee:string">
2729
        <xsd:enumeration value="Local"/>
2730
        <xsd:enumeration value="Remote"/>
2731
      </xsd:restriction>
2732
    </xsd:simpleContent>
2733
  </xsd:complexType>
2734
2735
2736
<!-- **************************************************** -->
2737
2738
  <xsd:complexType name="security-identityType">
2739
    <xsd:annotation>
2740
      <xsd:documentation>
2741
2742
        The security-identityType specifies whether the caller's
2743
        security identity is to be used for the execution of the
2744
        methods of the enterprise bean or whether a specific run-as
2745
        identity is to be used. It contains an optional description
2746
        and a specification of the security identity to be used.
2747
        
2748
      </xsd:documentation>
2749
    </xsd:annotation>
2750
    <xsd:sequence>
2751
      <xsd:element name="description"
2752
                   type="javaee:descriptionType"
2753
                   minOccurs="0"
2754
                   maxOccurs="unbounded"/>
2755
      <xsd:choice>
2756
        <xsd:element name="use-caller-identity"
2757
                     type="javaee:emptyType">
2758
          <xsd:annotation>
2759
            <xsd:documentation>
2760
2761
              The use-caller-identity element specifies that
2762
              the caller's security identity be used as the
2763
              security identity for the execution of the
2764
              enterprise bean's methods.
2765
              
2766
            </xsd:documentation>
2767
          </xsd:annotation>
2768
        </xsd:element>
2769
        <xsd:element name="run-as"
2770
                     type="javaee:run-asType"/>
2771
      </xsd:choice>
2772
    </xsd:sequence>
2773
    <xsd:attribute name="id"
2774
                   type="xsd:ID"/>
2775
  </xsd:complexType>
2776
2777
2778
<!-- **************************************************** -->
2779
2780
  <xsd:complexType name="session-beanType">
2781
    <xsd:annotation>
2782
      <xsd:documentation>
2783
2784
        The session-beanType declares an session bean. The
2785
        declaration consists of:
2786
        
2787
        - an optional description
2788
        - an optional display name
2789
        - an optional icon element that contains a small and a large 
2790
        icon file name
2791
        - a name assigned to the enterprise bean
2792
        in the deployment description
2793
        - an optional mapped-name element that can be used to provide
2794
        vendor-specific deployment information such as the physical
2795
        jndi-name of the session bean's remote home/business interface. 
2796
        This element is not required to be supported by all 
2797
        implementations. Any use of this element is non-portable.
2798
        - the names of all the remote or local business interfaces, 
2799
        if any
2800
        - the names of the session bean's remote home and
2801
        remote interfaces, if any
2802
        - the names of the session bean's local home and
2803
        local interfaces, if any
2804
        - an optional declaration that this bean exposes a
2805
        no-interface view
2806
        - the name of the session bean's web service endpoint
2807
        interface, if any
2808
        - the session bean's implementation class
2809
        - the session bean's state management type
2810
        - an optional declaration of a stateful session bean's timeout value
2811
        - an optional declaration of the session bean's timeout method for
2812
        handling programmatically created timers
2813
        - an optional declaration of timers to be automatically created at
2814
        deployment time
2815
        - an optional declaration that a Singleton bean has eager
2816
        initialization
2817
        - an optional declaration of a Singleton/Stateful bean's concurrency 
2818
        management type
2819
        - an optional declaration of the method locking metadata
2820
        for a Singleton with container managed concurrency
2821
        - an optional declaration of the other Singleton beans in the
2822
        application that must be initialized before this bean
2823
        - an optional declaration of the session bean's asynchronous 
2824
        methods
2825
        - the optional session bean's transaction management type. 
2826
        If it is not present, it is defaulted to Container.
2827
        - an optional declaration of a stateful session bean's 
2828
        afterBegin, beforeCompletion, and/or afterCompletion methods
2829
        - an optional list of the session bean class and/or
2830
        superclass around-invoke methods.
2831
        - an optional list of the session bean class and/or
2832
        superclass around-timeout methods.
2833
        - an optional declaration of the bean's 
2834
        environment entries
2835
        - an optional declaration of the bean's EJB references
2836
        - an optional declaration of the bean's local 
2837
        EJB references
2838
        - an optional declaration of the bean's web 
2839
        service references
2840
        - an optional declaration of the security role 
2841
        references
2842
        - an optional declaration of the security identity 
2843
        to be used for the execution of the bean's methods
2844
        - an optional declaration of the bean's resource 
2845
        manager connection factory references
2846
        - an optional declaration of the bean's resource 
2847
        environment references.
2848
        - an optional declaration of the bean's message 
2849
        destination references
2850
        - an optional specification as to whether the stateful 
2851
        session bean is passivation capable or not. If not 
2852
        specified, the bean is assumed to be passivation capable
2853
        
2854
        The elements that are optional are "optional" in the sense
2855
        that they are omitted when if lists represented by them are
2856
        empty.
2857
        
2858
        The service-endpoint element may only be specified if the
2859
        bean is a stateless session bean.
2860
        
2861
      </xsd:documentation>
2862
    </xsd:annotation>
2863
    <xsd:sequence>
2864
      <xsd:group ref="javaee:descriptionGroup"/>
2865
      <xsd:element name="ejb-name"
2866
                   type="javaee:ejb-nameType"/>
2867
      <xsd:element name="mapped-name"
2868
                   type="javaee:xsdStringType"
2869
                   minOccurs="0"/>
2870
      <xsd:element name="home"
2871
                   type="javaee:homeType"
2872
                   minOccurs="0"/>
2873
      <xsd:element name="remote"
2874
                   type="javaee:remoteType"
2875
                   minOccurs="0"/>
2876
      <xsd:element name="local-home"
2877
                   type="javaee:local-homeType"
2878
                   minOccurs="0"/>
2879
      <xsd:element name="local"
2880
                   type="javaee:localType"
2881
                   minOccurs="0"/>
2882
      <xsd:element name="business-local"
2883
                   type="javaee:fully-qualified-classType"
2884
                   minOccurs="0"
2885
                   maxOccurs="unbounded"/>
2886
      <xsd:element name="business-remote"
2887
                   type="javaee:fully-qualified-classType"
2888
                   minOccurs="0"
2889
                   maxOccurs="unbounded"/>
2890
      <xsd:element name="local-bean"
2891
                   type="javaee:emptyType"
2892
                   minOccurs="0">
2893
        <xsd:annotation>
2894
          <xsd:documentation>
2895
2896
            The local-bean element declares that this
2897
            session bean exposes a no-interface Local client view.
2898
            
2899
          </xsd:documentation>
2900
        </xsd:annotation>
2901
      </xsd:element>
2902
      <xsd:element name="service-endpoint"
2903
                   type="javaee:fully-qualified-classType"
2904
                   minOccurs="0">
2905
        <xsd:annotation>
2906
          <xsd:documentation>
2907
2908
            The service-endpoint element contains the
2909
            fully-qualified name of the enterprise bean's web
2910
            service endpoint interface. The service-endpoint
2911
            element may only be specified for a stateless
2912
            session bean. The specified interface must be a
2913
            valid JAX-RPC service endpoint interface.
2914
            
2915
          </xsd:documentation>
2916
        </xsd:annotation>
2917
      </xsd:element>
2918
      <xsd:element name="ejb-class"
2919
                   type="javaee:ejb-classType"
2920
                   minOccurs="0">
2921
        <xsd:annotation>
2922
          <xsd:documentation>
2923
2924
            The ejb-class element specifies the fully qualified name
2925
            of the bean class for this ejb.  It is required unless
2926
            there is a component-defining annotation for the same
2927
            ejb-name.
2928
            
2929
          </xsd:documentation>
2930
        </xsd:annotation>
2931
      </xsd:element>
2932
      <xsd:element name="session-type"
2933
                   type="javaee:session-typeType"
2934
                   minOccurs="0"/>
2935
      <xsd:element name="stateful-timeout"
2936
                   type="javaee:stateful-timeoutType"
2937
                   minOccurs="0"/>
2938
      <xsd:element name="timeout-method"
2939
                   type="javaee:named-methodType"
2940
                   minOccurs="0">
2941
        <xsd:annotation>
2942
          <xsd:documentation>
2943
2944
            The timeout-method element specifies the method that
2945
            will receive callbacks for programmatically
2946
            created timers.
2947
            
2948
          </xsd:documentation>
2949
        </xsd:annotation>
2950
      </xsd:element>
2951
      <xsd:element name="timer"
2952
                   type="javaee:timerType"
2953
                   minOccurs="0"
2954
                   maxOccurs="unbounded"/>
2955
      <xsd:element name="init-on-startup"
2956
                   type="javaee:true-falseType"
2957
                   minOccurs="0">
2958
        <xsd:annotation>
2959
          <xsd:documentation>
2960
2961
            The init-on-startup element specifies that a Singleton
2962
            bean has eager initialization.
2963
            This element can only be specified for singleton session
2964
            beans.
2965
            
2966
          </xsd:documentation>
2967
        </xsd:annotation>
2968
      </xsd:element>
2969
      <xsd:element name="concurrency-management-type"
2970
                   type="javaee:concurrency-management-typeType"
2971
                   minOccurs="0"/>
2972
      <xsd:element name="concurrent-method"
2973
                   type="javaee:concurrent-methodType"
2974
                   minOccurs="0"
2975
                   maxOccurs="unbounded"/>
2976
      <xsd:element name="depends-on"
2977
                   type="javaee:depends-onType"
2978
                   minOccurs="0"/>
2979
      <xsd:element name="init-method"
2980
                   type="javaee:init-methodType"
2981
                   minOccurs="0"
2982
                   maxOccurs="unbounded">
2983
        <xsd:annotation>
2984
          <xsd:documentation>
2985
2986
            The init-method element specifies the mappings for
2987
            EJB 2.x style create methods for an EJB 3.x bean.
2988
            This element can only be specified for stateful 
2989
            session beans. 
2990
            
2991
          </xsd:documentation>
2992
        </xsd:annotation>
2993
      </xsd:element>
2994
      <xsd:element name="remove-method"
2995
                   type="javaee:remove-methodType"
2996
                   minOccurs="0"
2997
                   maxOccurs="unbounded">
2998
        <xsd:annotation>
2999
          <xsd:documentation>
3000
3001
            The remove-method element specifies the mappings for
3002
            EJB 2.x style remove methods for an EJB 3.x bean.
3003
            This element can only be specified for stateful 
3004
            session beans. 
3005
            
3006
          </xsd:documentation>
3007
        </xsd:annotation>
3008
      </xsd:element>
3009
      <xsd:element name="async-method"
3010
                   type="javaee:async-methodType"
3011
                   minOccurs="0"
3012
                   maxOccurs="unbounded"/>
3013
      <xsd:element name="transaction-type"
3014
                   type="javaee:transaction-typeType"
3015
                   minOccurs="0"/>
3016
      <xsd:element name="after-begin-method"
3017
                   type="javaee:named-methodType"
3018
                   minOccurs="0"/>
3019
      <xsd:element name="before-completion-method"
3020
                   type="javaee:named-methodType"
3021
                   minOccurs="0"/>
3022
      <xsd:element name="after-completion-method"
3023
                   type="javaee:named-methodType"
3024
                   minOccurs="0"/>
3025
      <xsd:element name="around-invoke"
3026
                   type="javaee:around-invokeType"
3027
                   minOccurs="0"
3028
                   maxOccurs="unbounded"/>
3029
      <xsd:element name="around-timeout"
3030
                   type="javaee:around-timeoutType"
3031
                   minOccurs="0"
3032
                   maxOccurs="unbounded"/>
3033
      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
3034
      <xsd:element name="post-activate"
3035
                   type="javaee:lifecycle-callbackType"
3036
                   minOccurs="0"
3037
                   maxOccurs="unbounded"/>
3038
      <xsd:element name="pre-passivate"
3039
                   type="javaee:lifecycle-callbackType"
3040
                   minOccurs="0"
3041
                   maxOccurs="unbounded"/>
3042
      <xsd:element name="security-role-ref"
3043
                   type="javaee:security-role-refType"
3044
                   minOccurs="0"
3045
                   maxOccurs="unbounded"/>
3046
      <xsd:element name="security-identity"
3047
                   type="javaee:security-identityType"
3048
                   minOccurs="0"/>
3049
      <xsd:element name="passivation-capable"
3050
                   type="xsd:boolean"
3051
                   default="true"
3052
                   minOccurs="0">
3053
        <xsd:annotation>
3054
          <xsd:documentation>
3055
3056
            The passivation-capable element specifies whether the 
3057
            stateful session bean is passivation capable or not. 
3058
            If not specified, the bean is assumed to be passivation 
3059
            capable.
3060
            
3061
          </xsd:documentation>
3062
        </xsd:annotation>
3063
      </xsd:element>
3064
    </xsd:sequence>
3065
    <xsd:attribute name="id"
3066
                   type="xsd:ID"/>
3067
  </xsd:complexType>
3068
3069
3070
<!-- **************************************************** -->
3071
3072
  <xsd:complexType name="session-typeType">
3073
    <xsd:annotation>
3074
      <xsd:documentation>
3075
3076
        The session-typeType describes whether the session bean is a
3077
        singleton, stateful or stateless session. It is used by
3078
        session-type elements.
3079
        
3080
        The value must be one of the three following:
3081
        
3082
        Singleton
3083
        Stateful
3084
        Stateless
3085
        
3086
      </xsd:documentation>
3087
    </xsd:annotation>
3088
    <xsd:simpleContent>
3089
      <xsd:restriction base="javaee:string">
3090
        <xsd:enumeration value="Singleton"/>
3091
        <xsd:enumeration value="Stateful"/>
3092
        <xsd:enumeration value="Stateless"/>
3093
      </xsd:restriction>
3094
    </xsd:simpleContent>
3095
  </xsd:complexType>
3096
3097
3098
<!-- **************************************************** -->
3099
3100
  <xsd:complexType name="stateful-timeoutType">
3101
    <xsd:annotation>
3102
      <xsd:documentation>
3103
3104
        The stateful-timeoutType represents the amount of time
3105
        a stateful session bean can be idle(not receive any client
3106
        invocations) before it is eligible for removal by the container.
3107
        
3108
        A timeout value of 0 means the bean is immediately eligible for removal.
3109
        
3110
        A timeout value of -1 means the bean will never be removed due to timeout.
3111
        
3112
      </xsd:documentation>
3113
    </xsd:annotation>
3114
    <xsd:sequence>
3115
      <xsd:element name="timeout"
3116
                   type="javaee:xsdIntegerType"/>
3117
      <xsd:element name="unit"
3118
                   type="javaee:time-unit-typeType"/>
3119
    </xsd:sequence>
3120
    <xsd:attribute name="id"
3121
                   type="xsd:ID"/>
3122
  </xsd:complexType>
3123
3124
3125
<!-- **************************************************** -->
3126
3127
  <xsd:complexType name="time-unit-typeType">
3128
    <xsd:annotation>
3129
      <xsd:documentation>
3130
3131
        The time-unit-typeType represents a time duration at a given
3132
        unit of granularity.  
3133
        
3134
        The time unit type must be one of the following :
3135
        
3136
        Days
3137
        Hours
3138
        Minutes
3139
        Seconds
3140
        Milliseconds
3141
        Microseconds
3142
        Nanoseconds
3143
        
3144
      </xsd:documentation>
3145
    </xsd:annotation>
3146
    <xsd:simpleContent>
3147
      <xsd:restriction base="javaee:string">
3148
        <xsd:enumeration value="Days"/>
3149
        <xsd:enumeration value="Hours"/>
3150
        <xsd:enumeration value="Minutes"/>
3151
        <xsd:enumeration value="Seconds"/>
3152
        <xsd:enumeration value="Milliseconds"/>
3153
        <xsd:enumeration value="Microseconds"/>
3154
        <xsd:enumeration value="Nanoseconds"/>
3155
      </xsd:restriction>
3156
    </xsd:simpleContent>
3157
  </xsd:complexType>
3158
3159
3160
<!-- **************************************************** -->
3161
3162
  <xsd:complexType name="timer-scheduleType">
3163
    <xsd:sequence>
3164
      <xsd:element name="second"
3165
                   type="javaee:string"
3166
                   minOccurs="0"/>
3167
      <xsd:element name="minute"
3168
                   type="javaee:string"
3169
                   minOccurs="0"/>
3170
      <xsd:element name="hour"
3171
                   type="javaee:string"
3172
                   minOccurs="0"/>
3173
      <xsd:element name="day-of-month"
3174
                   type="javaee:string"
3175
                   minOccurs="0"/>
3176
      <xsd:element name="month"
3177
                   type="javaee:string"
3178
                   minOccurs="0"/>
3179
      <xsd:element name="day-of-week"
3180
                   type="javaee:string"
3181
                   minOccurs="0"/>
3182
      <xsd:element name="year"
3183
                   type="javaee:string"
3184
                   minOccurs="0"/>
3185
    </xsd:sequence>
3186
    <xsd:attribute name="id"
3187
                   type="xsd:ID"/>
3188
  </xsd:complexType>
3189
3190
3191
<!-- **************************************************** -->
3192
3193
  <xsd:complexType name="timerType">
3194
    <xsd:annotation>
3195
      <xsd:documentation>
3196
3197
        The timerType specifies an enterprise bean timer.  Each
3198
        timer is automatically created by the container upon
3199
        deployment.  Timer callbacks occur based on the 
3200
        schedule attributes.  All callbacks are made to the
3201
        timeout-method associated with the timer.  
3202
        
3203
        A timer can have an optional start and/or end date. If
3204
        a start date is specified, it takes precedence over the
3205
        associated timer schedule such that any matching
3206
        expirations prior to the start time will not occur.
3207
        Likewise, no matching expirations will occur after any
3208
        end date.   Start/End dates are specified using the
3209
        XML Schema dateTime type, which follows the ISO-8601
3210
        standard for date(and optional time-within-the-day) 
3211
        representation.
3212
        
3213
        An optional flag can be used to control whether
3214
        this timer has persistent(true) delivery semantics or
3215
        non-persistent(false) delivery semantics.  If not specified,
3216
        the value defaults to persistent(true).
3217
        
3218
        A time zone can optionally be associated with a timer.
3219
        If specified, the timer's schedule is evaluated in the context
3220
        of that time zone, regardless of the default time zone in which
3221
        the container is executing.   Time zones are specified as an
3222
        ID string.  The set of required time zone IDs is defined by
3223
        the Zone Name(TZ) column of the public domain zoneinfo database.
3224
        
3225
        An optional info string can be assigned to the timer and 
3226
        retrieved at runtime through the Timer.getInfo() method.
3227
        
3228
        The timerType can only be specified on stateless session
3229
        beans, singleton session beans, and message-driven beans.
3230
        
3231
      </xsd:documentation>
3232
    </xsd:annotation>
3233
    <xsd:sequence>
3234
      <xsd:element name="description"
3235
                   type="javaee:descriptionType"
3236
                   minOccurs="0"
3237
                   maxOccurs="unbounded"/>
3238
      <xsd:element name="schedule"
3239
                   type="javaee:timer-scheduleType"/>
3240
      <xsd:element name="start"
3241
                   type="xsd:dateTime"
3242
                   minOccurs="0"/>
3243
      <xsd:element name="end"
3244
                   type="xsd:dateTime"
3245
                   minOccurs="0"/>
3246
      <xsd:element name="timeout-method"
3247
                   type="javaee:named-methodType"/>
3248
      <xsd:element name="persistent"
3249
                   type="javaee:true-falseType"
3250
                   minOccurs="0"/>
3251
      <xsd:element name="timezone"
3252
                   type="javaee:string"
3253
                   minOccurs="0"/>
3254
      <xsd:element name="info"
3255
                   type="javaee:string"
3256
                   minOccurs="0"/>
3257
    </xsd:sequence>
3258
    <xsd:attribute name="id"
3259
                   type="xsd:ID"/>
3260
  </xsd:complexType>
3261
3262
3263
<!-- **************************************************** -->
3264
3265
  <xsd:complexType name="trans-attributeType">
3266
    <xsd:annotation>
3267
      <xsd:documentation>
3268
3269
        The trans-attributeType specifies how the container must
3270
        manage the transaction boundaries when delegating a method 
3271
        invocation to an enterprise bean's business method. 
3272
        
3273
        The value must be one of the following: 
3274
        
3275
        NotSupported 
3276
        Supports 
3277
        Required  
3278
        RequiresNew 
3279
        Mandatory 
3280
        Never 
3281
        
3282
      </xsd:documentation>
3283
    </xsd:annotation>
3284
    <xsd:simpleContent>
3285
      <xsd:restriction base="javaee:string">
3286
        <xsd:enumeration value="NotSupported"/>
3287
        <xsd:enumeration value="Supports"/>
3288
        <xsd:enumeration value="Required"/>
3289
        <xsd:enumeration value="RequiresNew"/>
3290
        <xsd:enumeration value="Mandatory"/>
3291
        <xsd:enumeration value="Never"/>
3292
      </xsd:restriction>
3293
    </xsd:simpleContent>
3294
  </xsd:complexType>
3295
3296
3297
<!-- **************************************************** -->
3298
3299
  <xsd:complexType name="transaction-typeType">
3300
    <xsd:annotation>
3301
      <xsd:documentation>
3302
3303
        The transaction-typeType specifies an enterprise bean's
3304
        transaction management type.
3305
        
3306
        The transaction-type must be one of the two following:
3307
        
3308
        Bean
3309
        Container
3310
        
3311
      </xsd:documentation>
3312
    </xsd:annotation>
3313
    <xsd:simpleContent>
3314
      <xsd:restriction base="javaee:string">
3315
        <xsd:enumeration value="Bean"/>
3316
        <xsd:enumeration value="Container"/>
3317
      </xsd:restriction>
3318
    </xsd:simpleContent>
3319
  </xsd:complexType>
3320
3321
</xsd:schema>
(-)a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/javaee_7.xsd (+3002 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema targetNamespace="http://java.sun.com/xml/ns/javaee"
3
            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
4
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
            elementFormDefault="qualified"
6
            attributeFormDefault="unqualified"
7
            version="7">
8
  <xsd:annotation>
9
    <xsd:documentation>
10
11
      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
12
      
13
      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
14
      
15
      The contents of this file are subject to the terms of either the GNU
16
      General Public License Version 2 only ("GPL") or the Common Development
17
      and Distribution License("CDDL") (collectively, the "License").  You
18
      may not use this file except in compliance with the License.  You can
19
      obtain a copy of the License at
20
      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
21
      or packager/legal/LICENSE.txt.  See the License for the specific
22
      language governing permissions and limitations under the License.
23
      
24
      When distributing the software, include this License Header Notice in each
25
      file and include the License file at packager/legal/LICENSE.txt.
26
      
27
      GPL Classpath Exception:
28
      Oracle designates this particular file as subject to the "Classpath"
29
      exception as provided by Oracle in the GPL Version 2 section of the License
30
      file that accompanied this code.
31
      
32
      Modifications:
33
      If applicable, add the following below the License Header, with the fields
34
      enclosed by brackets [] replaced by your own identifying information:
35
      "Portions Copyright [year] [name of copyright owner]"
36
      
37
      Contributor(s):
38
      If you wish your version of this file to be governed by only the CDDL or
39
      only the GPL Version 2, indicate your decision by adding "[Contributor]
40
      elects to include this software in this distribution under the [CDDL or GPL
41
      Version 2] license."  If you don't indicate a single choice of license, a
42
      recipient has the option to distribute your version of this file under
43
      either the CDDL, the GPL Version 2 or to extend the choice of license to
44
      its licensees as provided above.  However, if you add GPL Version 2 code
45
      and therefore, elected the GPL Version 2 license, then the option applies
46
      only if the new code is made subject to such option by the copyright
47
      holder.
48
      
49
    </xsd:documentation>
50
  </xsd:annotation>
51
52
  <xsd:annotation>
53
    <xsd:documentation>
54
55
      The following definitions that appear in the common
56
      shareable schema(s) of Java EE deployment descriptors should be
57
      interpreted with respect to the context they are included:
58
      
59
      Deployment Component may indicate one of the following:
60
      java ee application;
61
      application client;
62
      web application;
63
      enterprise bean;
64
      resource adapter; 
65
      
66
      Deployment File may indicate one of the following:
67
      ear file;
68
      war file;
69
      jar file;
70
      rar file;
71
      
72
    </xsd:documentation>
73
  </xsd:annotation>
74
75
  <xsd:import namespace="http://www.w3.org/XML/1998/namespace"
76
              schemaLocation="http://www.w3.org/2001/xml.xsd"/>
77
78
  <xsd:include schemaLocation="javaee_web_services_client_1_3.xsd"/>
79
80
  <xsd:group name="descriptionGroup">
81
    <xsd:annotation>
82
      <xsd:documentation>
83
84
        This group keeps the usage of the contained description related
85
        elements consistent across Java EE deployment descriptors.
86
        
87
        All elements may occur multiple times with different languages,
88
        to support localization of the content.
89
        
90
      </xsd:documentation>
91
    </xsd:annotation>
92
    <xsd:sequence>
93
      <xsd:element name="description"
94
                   type="javaee:descriptionType"
95
                   minOccurs="0"
96
                   maxOccurs="unbounded"/>
97
      <xsd:element name="display-name"
98
                   type="javaee:display-nameType"
99
                   minOccurs="0"
100
                   maxOccurs="unbounded"/>
101
      <xsd:element name="icon"
102
                   type="javaee:iconType"
103
                   minOccurs="0"
104
                   maxOccurs="unbounded"/>
105
    </xsd:sequence>
106
  </xsd:group>
107
108
  <xsd:group name="jndiEnvironmentRefsGroup">
109
    <xsd:annotation>
110
      <xsd:documentation>
111
112
        This group keeps the usage of the contained JNDI environment
113
        reference elements consistent across Java EE deployment descriptors.
114
        
115
      </xsd:documentation>
116
    </xsd:annotation>
117
    <xsd:sequence>
118
      <xsd:element name="env-entry"
119
                   type="javaee:env-entryType"
120
                   minOccurs="0"
121
                   maxOccurs="unbounded"/>
122
      <xsd:element name="ejb-ref"
123
                   type="javaee:ejb-refType"
124
                   minOccurs="0"
125
                   maxOccurs="unbounded"/>
126
      <xsd:element name="ejb-local-ref"
127
                   type="javaee:ejb-local-refType"
128
                   minOccurs="0"
129
                   maxOccurs="unbounded"/>
130
      <xsd:group ref="javaee:service-refGroup"/>
131
      <xsd:element name="resource-ref"
132
                   type="javaee:resource-refType"
133
                   minOccurs="0"
134
                   maxOccurs="unbounded"/>
135
      <xsd:element name="resource-env-ref"
136
                   type="javaee:resource-env-refType"
137
                   minOccurs="0"
138
                   maxOccurs="unbounded"/>
139
      <xsd:element name="message-destination-ref"
140
                   type="javaee:message-destination-refType"
141
                   minOccurs="0"
142
                   maxOccurs="unbounded"/>
143
      <xsd:element name="persistence-context-ref"
144
                   type="javaee:persistence-context-refType"
145
                   minOccurs="0"
146
                   maxOccurs="unbounded"/>
147
      <xsd:element name="persistence-unit-ref"
148
                   type="javaee:persistence-unit-refType"
149
                   minOccurs="0"
150
                   maxOccurs="unbounded"/>
151
      <xsd:element name="post-construct"
152
                   type="javaee:lifecycle-callbackType"
153
                   minOccurs="0"
154
                   maxOccurs="unbounded"/>
155
      <xsd:element name="pre-destroy"
156
                   type="javaee:lifecycle-callbackType"
157
                   minOccurs="0"
158
                   maxOccurs="unbounded"/>
159
      <xsd:element name="data-source"
160
                   type="javaee:data-sourceType"
161
                   minOccurs="0"
162
                   maxOccurs="unbounded"/>
163
      <xsd:element name="jms-connection-factory"
164
                   type="javaee:jms-connection-factoryType"
165
                   minOccurs="0"
166
                   maxOccurs="unbounded"/>
167
      <xsd:element name="jms-destination"
168
                   type="javaee:jms-destinationType"
169
                   minOccurs="0"
170
                   maxOccurs="unbounded"/>
171
      <xsd:element name="mail-session"
172
                   type="javaee:mail-sessionType"
173
                   minOccurs="0"
174
                   maxOccurs="unbounded"/>
175
      <xsd:element name="connector-resource"
176
                   type="javaee:connector-resourceType"
177
                   minOccurs="0"
178
                   maxOccurs="unbounded"/>
179
      <xsd:element name="administered-object"
180
                   type="javaee:administered-objectType"
181
                   minOccurs="0"
182
                   maxOccurs="unbounded"/>
183
    </xsd:sequence>
184
  </xsd:group>
185
186
  <xsd:group name="resourceGroup">
187
    <xsd:annotation>
188
      <xsd:documentation>
189
190
        This group collects elements that are common to most
191
        JNDI resource elements.
192
        
193
      </xsd:documentation>
194
    </xsd:annotation>
195
    <xsd:sequence>
196
      <xsd:group ref="javaee:resourceBaseGroup"/>
197
      <xsd:element name="lookup-name"
198
                   type="javaee:xsdStringType"
199
                   minOccurs="0">
200
        <xsd:annotation>
201
          <xsd:documentation>
202
203
            The JNDI name to be looked up to resolve a resource reference.
204
            
205
          </xsd:documentation>
206
        </xsd:annotation>
207
      </xsd:element>
208
    </xsd:sequence>
209
  </xsd:group>
210
211
  <xsd:group name="resourceBaseGroup">
212
    <xsd:annotation>
213
      <xsd:documentation>
214
215
        This group collects elements that are common to all the
216
        JNDI resource elements. It does not include the lookup-name
217
        element, that is only applicable to some resource elements.
218
        
219
      </xsd:documentation>
220
    </xsd:annotation>
221
    <xsd:sequence>
222
      <xsd:element name="mapped-name"
223
                   type="javaee:xsdStringType"
224
                   minOccurs="0">
225
        <xsd:annotation>
226
          <xsd:documentation>
227
228
            A product specific name that this resource should be
229
            mapped to.  The name of this resource, as defined by the
230
            resource's name element or defaulted, is a name that is
231
            local to the application component using the resource.
232
            (It's a name in the JNDI java:comp/env namespace.)  Many
233
            application servers provide a way to map these local
234
            names to names of resources known to the application
235
            server.  This mapped name is often a global JNDI name,
236
            but may be a name of any form.
237
            
238
            Application servers are not required to support any
239
            particular form or type of mapped name, nor the ability
240
            to use mapped names.  The mapped name is
241
            product-dependent and often installation-dependent.  No
242
            use of a mapped name is portable.
243
            
244
          </xsd:documentation>
245
        </xsd:annotation>
246
      </xsd:element>
247
      <xsd:element name="injection-target"
248
                   type="javaee:injection-targetType"
249
                   minOccurs="0"
250
                   maxOccurs="unbounded"/>
251
    </xsd:sequence>
252
  </xsd:group>
253
254
255
<!-- **************************************************** -->
256
257
  <xsd:complexType name="administered-objectType">
258
    <xsd:annotation>
259
      <xsd:documentation>
260
261
        Configuration of an administered object.
262
        
263
      </xsd:documentation>
264
    </xsd:annotation>
265
    <xsd:sequence>
266
      <xsd:element name="description"
267
                   type="javaee:descriptionType"
268
                   minOccurs="0">
269
        <xsd:annotation>
270
          <xsd:documentation>
271
272
            Description of this administered object.
273
            
274
          </xsd:documentation>
275
        </xsd:annotation>
276
      </xsd:element>
277
      <xsd:element name="name"
278
                   type="javaee:jndi-nameType">
279
        <xsd:annotation>
280
          <xsd:documentation>
281
282
            The name element specifies the JNDI name of the
283
            administered object being defined.
284
            
285
          </xsd:documentation>
286
        </xsd:annotation>
287
      </xsd:element>
288
      <xsd:element name="interface-name"
289
                   type="javaee:fully-qualified-classType"
290
                   minOccurs="0">
291
        <xsd:annotation>
292
          <xsd:documentation>
293
294
            The administered object's interface type.
295
            
296
          </xsd:documentation>
297
        </xsd:annotation>
298
      </xsd:element>
299
      <xsd:element name="class-name"
300
                   type="javaee:fully-qualified-classType">
301
        <xsd:annotation>
302
          <xsd:documentation>
303
304
            The administered object's class name.
305
            
306
          </xsd:documentation>
307
        </xsd:annotation>
308
      </xsd:element>
309
      <xsd:element name="resource-adapter-name"
310
                   type="javaee:string">
311
        <xsd:annotation>
312
          <xsd:documentation>
313
314
            Resource adapter name.
315
            
316
          </xsd:documentation>
317
        </xsd:annotation>
318
      </xsd:element>
319
      <xsd:element name="property"
320
                   type="javaee:propertyType"
321
                   minOccurs="0"
322
                   maxOccurs="unbounded">
323
        <xsd:annotation>
324
          <xsd:documentation>
325
326
            Property of the administered object property.  This may be a 
327
            vendor-specific property.
328
            
329
          </xsd:documentation>
330
        </xsd:annotation>
331
      </xsd:element>
332
    </xsd:sequence>
333
    <xsd:attribute name="id"
334
                   type="xsd:ID"/>
335
  </xsd:complexType>
336
337
338
<!-- **************************************************** -->
339
340
  <xsd:complexType name="connector-resourceType">
341
    <xsd:annotation>
342
      <xsd:documentation>
343
344
        Configuration of a resource, possibly a custom resource.
345
        
346
      </xsd:documentation>
347
    </xsd:annotation>
348
    <xsd:sequence>
349
      <xsd:element name="description"
350
                   type="javaee:descriptionType"
351
                   minOccurs="0">
352
        <xsd:annotation>
353
          <xsd:documentation>
354
355
            Description of this resource.
356
            
357
          </xsd:documentation>
358
        </xsd:annotation>
359
      </xsd:element>
360
      <xsd:element name="name"
361
                   type="javaee:jndi-nameType">
362
        <xsd:annotation>
363
          <xsd:documentation>
364
365
            The name element specifies the JNDI name of the
366
            resource being defined.
367
            
368
          </xsd:documentation>
369
        </xsd:annotation>
370
      </xsd:element>
371
      <xsd:element name="class-name"
372
                   type="javaee:fully-qualified-classType"
373
                   minOccurs="0">
374
        <xsd:annotation>
375
          <xsd:documentation>
376
377
            The resource type.
378
            
379
          </xsd:documentation>
380
        </xsd:annotation>
381
      </xsd:element>
382
      <xsd:element name="property"
383
                   type="javaee:propertyType"
384
                   minOccurs="0"
385
                   maxOccurs="unbounded">
386
        <xsd:annotation>
387
          <xsd:documentation>
388
389
            Resource property.  This may be a vendor-specific
390
            property.
391
            
392
          </xsd:documentation>
393
        </xsd:annotation>
394
      </xsd:element>
395
    </xsd:sequence>
396
    <xsd:attribute name="id"
397
                   type="xsd:ID"/>
398
  </xsd:complexType>
399
400
401
<!-- **************************************************** -->
402
403
  <xsd:complexType name="data-sourceType">
404
    <xsd:annotation>
405
      <xsd:documentation>
406
407
        Configuration of a DataSource.
408
        
409
      </xsd:documentation>
410
    </xsd:annotation>
411
    <xsd:sequence>
412
      <xsd:element name="description"
413
                   type="javaee:descriptionType"
414
                   minOccurs="0">
415
        <xsd:annotation>
416
          <xsd:documentation>
417
418
            Description of this DataSource.
419
            
420
          </xsd:documentation>
421
        </xsd:annotation>
422
      </xsd:element>
423
      <xsd:element name="name"
424
                   type="javaee:jndi-nameType">
425
        <xsd:annotation>
426
          <xsd:documentation>
427
428
            The name element specifies the JNDI name of the
429
            data source being defined.
430
            
431
          </xsd:documentation>
432
        </xsd:annotation>
433
      </xsd:element>
434
      <xsd:element name="class-name"
435
                   type="javaee:fully-qualified-classType"
436
                   minOccurs="0">
437
        <xsd:annotation>
438
          <xsd:documentation>
439
440
            DataSource, XADataSource or ConnectionPoolDataSource
441
            implementation class.
442
            
443
          </xsd:documentation>
444
        </xsd:annotation>
445
      </xsd:element>
446
      <xsd:element name="server-name"
447
                   type="javaee:string"
448
                   minOccurs="0">
449
        <xsd:annotation>
450
          <xsd:documentation>
451
452
            Database server name.
453
            
454
          </xsd:documentation>
455
        </xsd:annotation>
456
      </xsd:element>
457
      <xsd:element name="port-number"
458
                   type="javaee:xsdIntegerType"
459
                   minOccurs="0">
460
        <xsd:annotation>
461
          <xsd:documentation>
462
463
            Port number where a server is listening for requests.
464
            
465
          </xsd:documentation>
466
        </xsd:annotation>
467
      </xsd:element>
468
      <xsd:element name="database-name"
469
                   type="javaee:string"
470
                   minOccurs="0">
471
        <xsd:annotation>
472
          <xsd:documentation>
473
474
            Name of a database on a server.
475
            
476
          </xsd:documentation>
477
        </xsd:annotation>
478
      </xsd:element>
479
      <xsd:element name="url"
480
                   type="javaee:jdbc-urlType"
481
                   minOccurs="0">
482
        <xsd:annotation>
483
          <xsd:documentation>
484
            <![CDATA[[
485
            A JDBC URL. If the <code>url</code> property is specified
486
            along with other standard <code>DataSource</code> properties
487
            such as <code>serverName</code>, <code>databaseName</code>
488
            and <code>portNumber</code>, the more specific properties will
489
            take precedence and <code>url</code> will be ignored.
490
            
491
            ]]>
492
          </xsd:documentation>
493
        </xsd:annotation>
494
      </xsd:element>
495
      <xsd:element name="user"
496
                   type="javaee:string"
497
                   minOccurs="0">
498
        <xsd:annotation>
499
          <xsd:documentation>
500
501
            User name to use for connection authentication.
502
            
503
          </xsd:documentation>
504
        </xsd:annotation>
505
      </xsd:element>
506
      <xsd:element name="password"
507
                   type="javaee:string"
508
                   minOccurs="0">
509
        <xsd:annotation>
510
          <xsd:documentation>
511
512
            Password to use for connection authentication.
513
            
514
          </xsd:documentation>
515
        </xsd:annotation>
516
      </xsd:element>
517
      <xsd:element name="property"
518
                   type="javaee:propertyType"
519
                   minOccurs="0"
520
                   maxOccurs="unbounded">
521
        <xsd:annotation>
522
          <xsd:documentation>
523
524
            JDBC DataSource property.  This may be a vendor-specific
525
            property or a less commonly used DataSource property.
526
            
527
          </xsd:documentation>
528
        </xsd:annotation>
529
      </xsd:element>
530
      <xsd:element name="login-timeout"
531
                   type="javaee:xsdIntegerType"
532
                   minOccurs="0">
533
        <xsd:annotation>
534
          <xsd:documentation>
535
536
            Sets the maximum time in seconds that this data source
537
            will wait while attempting to connect to a database.
538
            
539
          </xsd:documentation>
540
        </xsd:annotation>
541
      </xsd:element>
542
      <xsd:element name="transactional"
543
                   type="javaee:xsdBooleanType"
544
                   minOccurs="0">
545
        <xsd:annotation>
546
          <xsd:documentation>
547
548
            Set to false if connections should not participate in
549
            transactions.
550
            
551
          </xsd:documentation>
552
        </xsd:annotation>
553
      </xsd:element>
554
      <xsd:element name="isolation-level"
555
                   type="javaee:isolation-levelType"
556
                   minOccurs="0">
557
        <xsd:annotation>
558
          <xsd:documentation>
559
560
            Isolation level for connections.
561
            
562
          </xsd:documentation>
563
        </xsd:annotation>
564
      </xsd:element>
565
      <xsd:element name="initial-pool-size"
566
                   type="javaee:xsdIntegerType"
567
                   minOccurs="0">
568
        <xsd:annotation>
569
          <xsd:documentation>
570
571
            Number of connections that should be created when a
572
            connection pool is initialized.
573
            
574
          </xsd:documentation>
575
        </xsd:annotation>
576
      </xsd:element>
577
      <xsd:element name="max-pool-size"
578
                   type="javaee:xsdIntegerType"
579
                   minOccurs="0">
580
        <xsd:annotation>
581
          <xsd:documentation>
582
583
            Maximum number of connections that should be concurrently
584
            allocated for a connection pool.
585
            
586
          </xsd:documentation>
587
        </xsd:annotation>
588
      </xsd:element>
589
      <xsd:element name="min-pool-size"
590
                   type="javaee:xsdIntegerType"
591
                   minOccurs="0">
592
        <xsd:annotation>
593
          <xsd:documentation>
594
595
            Minimum number of connections that should be concurrently
596
            allocated for a connection pool.
597
            
598
          </xsd:documentation>
599
        </xsd:annotation>
600
      </xsd:element>
601
      <xsd:element name="max-idle-time"
602
                   type="javaee:xsdIntegerType"
603
                   minOccurs="0">
604
        <xsd:annotation>
605
          <xsd:documentation>
606
607
            The number of seconds that a physical connection should
608
            remain unused in the pool before the connection is
609
            closed for a connection pool.
610
            
611
          </xsd:documentation>
612
        </xsd:annotation>
613
      </xsd:element>
614
      <xsd:element name="max-statements"
615
                   type="javaee:xsdIntegerType"
616
                   minOccurs="0">
617
        <xsd:annotation>
618
          <xsd:documentation>
619
620
            The total number of statements that a connection pool
621
            should keep open.
622
            
623
          </xsd:documentation>
624
        </xsd:annotation>
625
      </xsd:element>
626
    </xsd:sequence>
627
    <xsd:attribute name="id"
628
                   type="xsd:ID"/>
629
  </xsd:complexType>
630
631
632
<!-- **************************************************** -->
633
634
  <xsd:complexType name="descriptionType">
635
    <xsd:annotation>
636
      <xsd:documentation>
637
638
        The description type is used by a description element to
639
        provide text describing the parent element.  The elements
640
        that use this type should include any information that the
641
        Deployment Component's Deployment File file producer wants
642
        to provide to the consumer of the Deployment Component's
643
        Deployment File (i.e., to the Deployer). Typically, the
644
        tools used by such a Deployment File consumer will display
645
        the description when processing the parent element that
646
        contains the description.
647
        
648
        The lang attribute defines the language that the
649
        description is provided in. The default value is "en" (English). 
650
        
651
      </xsd:documentation>
652
    </xsd:annotation>
653
    <xsd:simpleContent>
654
      <xsd:extension base="javaee:xsdStringType">
655
        <xsd:attribute ref="xml:lang"/>
656
      </xsd:extension>
657
    </xsd:simpleContent>
658
  </xsd:complexType>
659
660
  <xsd:simpleType name="dewey-versionType">
661
    <xsd:annotation>
662
      <xsd:documentation>
663
664
        This type defines a dewey decimal that is used
665
        to describe versions of documents. 
666
        
667
      </xsd:documentation>
668
    </xsd:annotation>
669
    <xsd:restriction base="xsd:token">
670
      <xsd:pattern value="\.?[0-9]+(\.[0-9]+)*"/>
671
    </xsd:restriction>
672
  </xsd:simpleType>
673
674
675
<!-- **************************************************** -->
676
677
  <xsd:complexType name="display-nameType">
678
    <xsd:annotation>
679
      <xsd:documentation>
680
        <![CDATA[[
681
        The display-name type contains a short name that is intended
682
        to be displayed by tools. It is used by display-name
683
        elements.  The display name need not be unique.
684
        
685
        Example: 
686
        
687
        ...
688
        <display-name xml:lang="en">
689
        Employee Self Service
690
        </display-name>
691
        
692
        The value of the xml:lang attribute is "en" (English) by default. 
693
        
694
        ]]>
695
      </xsd:documentation>
696
    </xsd:annotation>
697
    <xsd:simpleContent>
698
      <xsd:extension base="javaee:string">
699
        <xsd:attribute ref="xml:lang"/>
700
      </xsd:extension>
701
    </xsd:simpleContent>
702
  </xsd:complexType>
703
704
705
<!-- **************************************************** -->
706
707
  <xsd:complexType name="ejb-linkType">
708
    <xsd:annotation>
709
      <xsd:documentation>
710
        <![CDATA[[
711
        The ejb-linkType is used by ejb-link
712
        elements in the ejb-ref or ejb-local-ref elements to specify
713
        that an EJB reference is linked to enterprise bean.
714
        
715
        The value of the ejb-link element must be the ejb-name of an
716
        enterprise bean in the same ejb-jar file or in another ejb-jar
717
        file in the same Java EE application unit. 
718
        
719
        Alternatively, the name in the ejb-link element may be
720
        composed of a path name specifying the ejb-jar containing the
721
        referenced enterprise bean with the ejb-name of the target
722
        bean appended and separated from the path name by "#".  The
723
        path name is relative to the Deployment File containing
724
        Deployment Component that is referencing the enterprise
725
        bean.  This allows multiple enterprise beans with the same
726
        ejb-name to be uniquely identified.
727
        
728
        Examples:
729
        
730
        <ejb-link>EmployeeRecord</ejb-link>
731
        
732
        <ejb-link>../products/product.jar#ProductEJB</ejb-link>
733
        
734
        ]]>
735
      </xsd:documentation>
736
    </xsd:annotation>
737
    <xsd:simpleContent>
738
      <xsd:restriction base="javaee:string"/>
739
    </xsd:simpleContent>
740
  </xsd:complexType>
741
742
743
<!-- **************************************************** -->
744
745
  <xsd:complexType name="ejb-local-refType">
746
    <xsd:annotation>
747
      <xsd:documentation>
748
749
        The ejb-local-refType is used by ejb-local-ref elements for
750
        the declaration of a reference to an enterprise bean's local
751
        home or to the local business interface of a 3.0 bean.
752
        The declaration consists of:
753
        
754
        - an optional description
755
        - the EJB reference name used in the code of the Deployment 
756
        Component that's referencing the enterprise bean.
757
        - the optional expected type of the referenced enterprise bean
758
        - the optional expected local interface of the referenced 
759
        enterprise bean or the local business interface of the 
760
        referenced enterprise bean.
761
        - the optional expected local home interface of the referenced 
762
        enterprise bean. Not applicable if this ejb-local-ref refers
763
        to the local business interface of a 3.0 bean.
764
        - optional ejb-link information, used to specify the 
765
        referenced enterprise bean
766
        - optional elements to define injection of the named enterprise  
767
        bean into a component field or property.
768
        
769
      </xsd:documentation>
770
    </xsd:annotation>
771
    <xsd:sequence>
772
      <xsd:element name="description"
773
                   type="javaee:descriptionType"
774
                   minOccurs="0"
775
                   maxOccurs="unbounded"/>
776
      <xsd:element name="ejb-ref-name"
777
                   type="javaee:ejb-ref-nameType"/>
778
      <xsd:element name="ejb-ref-type"
779
                   type="javaee:ejb-ref-typeType"
780
                   minOccurs="0"/>
781
      <xsd:element name="local-home"
782
                   type="javaee:local-homeType"
783
                   minOccurs="0"/>
784
      <xsd:element name="local"
785
                   type="javaee:localType"
786
                   minOccurs="0"/>
787
      <xsd:element name="ejb-link"
788
                   type="javaee:ejb-linkType"
789
                   minOccurs="0"/>
790
      <xsd:group ref="javaee:resourceGroup"/>
791
    </xsd:sequence>
792
    <xsd:attribute name="id"
793
                   type="xsd:ID"/>
794
  </xsd:complexType>
795
796
797
<!-- **************************************************** -->
798
799
  <xsd:complexType name="ejb-ref-nameType">
800
    <xsd:annotation>
801
      <xsd:documentation>
802
        <![CDATA[[
803
        The ejb-ref-name element contains the name of an EJB
804
        reference. The EJB reference is an entry in the
805
        Deployment Component's environment and is relative to the
806
        java:comp/env context.  The name must be unique within the
807
        Deployment Component.
808
        
809
        It is recommended that name is prefixed with "ejb/".
810
        
811
        Example:
812
        
813
        <ejb-ref-name>ejb/Payroll</ejb-ref-name>
814
        
815
        ]]>
816
      </xsd:documentation>
817
    </xsd:annotation>
818
    <xsd:simpleContent>
819
      <xsd:restriction base="javaee:jndi-nameType"/>
820
    </xsd:simpleContent>
821
  </xsd:complexType>
822
823
824
<!-- **************************************************** -->
825
826
  <xsd:complexType name="ejb-refType">
827
    <xsd:annotation>
828
      <xsd:documentation>
829
830
        The ejb-refType is used by ejb-ref elements for the
831
        declaration of a reference to an enterprise bean's home or
832
        to the remote business interface of a 3.0 bean.  
833
        The declaration consists of:
834
        
835
        - an optional description
836
        - the EJB reference name used in the code of
837
        the Deployment Component that's referencing the enterprise
838
        bean. 
839
        - the optional expected type of the referenced enterprise bean
840
        - the optional remote interface of the referenced enterprise bean
841
        or the remote business interface of the referenced enterprise 
842
        bean
843
        - the optional expected home interface of the referenced 
844
        enterprise bean.  Not applicable if this ejb-ref
845
        refers to the remote business interface of a 3.0 bean.
846
        - optional ejb-link information, used to specify the
847
        referenced enterprise bean
848
        - optional elements to define injection of the named enterprise
849
        bean into a component field or property
850
        
851
      </xsd:documentation>
852
    </xsd:annotation>
853
    <xsd:sequence>
854
      <xsd:element name="description"
855
                   type="javaee:descriptionType"
856
                   minOccurs="0"
857
                   maxOccurs="unbounded"/>
858
      <xsd:element name="ejb-ref-name"
859
                   type="javaee:ejb-ref-nameType"/>
860
      <xsd:element name="ejb-ref-type"
861
                   type="javaee:ejb-ref-typeType"
862
                   minOccurs="0"/>
863
      <xsd:element name="home"
864
                   type="javaee:homeType"
865
                   minOccurs="0"/>
866
      <xsd:element name="remote"
867
                   type="javaee:remoteType"
868
                   minOccurs="0"/>
869
      <xsd:element name="ejb-link"
870
                   type="javaee:ejb-linkType"
871
                   minOccurs="0"/>
872
      <xsd:group ref="javaee:resourceGroup"/>
873
    </xsd:sequence>
874
    <xsd:attribute name="id"
875
                   type="xsd:ID"/>
876
  </xsd:complexType>
877
878
879
<!-- **************************************************** -->
880
881
  <xsd:complexType name="ejb-ref-typeType">
882
    <xsd:annotation>
883
      <xsd:documentation>
884
885
        The ejb-ref-typeType contains the expected type of the
886
        referenced enterprise bean.
887
        
888
        The ejb-ref-type designates a value
889
        that must be one of the following:
890
        
891
        Entity
892
        Session
893
        
894
      </xsd:documentation>
895
    </xsd:annotation>
896
    <xsd:simpleContent>
897
      <xsd:restriction base="javaee:string">
898
        <xsd:enumeration value="Entity"/>
899
        <xsd:enumeration value="Session"/>
900
      </xsd:restriction>
901
    </xsd:simpleContent>
902
  </xsd:complexType>
903
904
905
<!-- **************************************************** -->
906
907
  <xsd:complexType name="emptyType">
908
    <xsd:annotation>
909
      <xsd:documentation>
910
911
        This type is used to designate an empty
912
        element when used. 
913
        
914
      </xsd:documentation>
915
    </xsd:annotation>
916
    <xsd:attribute name="id"
917
                   type="xsd:ID"/>
918
  </xsd:complexType>
919
920
921
<!-- **************************************************** -->
922
923
  <xsd:complexType name="env-entryType">
924
    <xsd:annotation>
925
      <xsd:documentation>
926
927
        The env-entryType is used to declare an application's
928
        environment entry. The declaration consists of an optional
929
        description, the name of the environment entry, a type
930
        (optional if the value is injected, otherwise required), and
931
        an optional value.
932
        
933
        It also includes optional elements to define injection of
934
        the named resource into fields or JavaBeans properties.
935
        
936
        If a value is not specified and injection is requested,
937
        no injection will occur and no entry of the specified name
938
        will be created.  This allows an initial value to be
939
        specified in the source code without being incorrectly
940
        changed when no override has been specified.
941
        
942
        If a value is not specified and no injection is requested,
943
        a value must be supplied during deployment. 
944
        
945
        This type is used by env-entry elements.
946
        
947
      </xsd:documentation>
948
    </xsd:annotation>
949
    <xsd:sequence>
950
      <xsd:element name="description"
951
                   type="javaee:descriptionType"
952
                   minOccurs="0"
953
                   maxOccurs="unbounded"/>
954
      <xsd:element name="env-entry-name"
955
                   type="javaee:jndi-nameType">
956
        <xsd:annotation>
957
          <xsd:documentation>
958
            <![CDATA[[
959
            The env-entry-name element contains the name of a
960
            Deployment Component's environment entry.  The name
961
            is a JNDI name relative to the java:comp/env
962
            context.  The name must be unique within a 
963
            Deployment Component. The uniqueness
964
            constraints must be defined within the declared
965
            context.
966
            
967
            Example:
968
            
969
            <env-entry-name>minAmount</env-entry-name>
970
            
971
            ]]>
972
          </xsd:documentation>
973
        </xsd:annotation>
974
      </xsd:element>
975
      <xsd:element name="env-entry-type"
976
                   type="javaee:env-entry-type-valuesType"
977
                   minOccurs="0">
978
        <xsd:annotation>
979
          <xsd:documentation>
980
            <![CDATA[[
981
            The env-entry-type element contains the Java language
982
            type of the environment entry.  If an injection target
983
            is specified for the environment entry, the type may
984
            be omitted, or must match the type of the injection
985
            target.  If no injection target is specified, the type
986
            is required.
987
            
988
            Example:
989
            
990
            <env-entry-type>java.lang.Integer</env-entry-type>
991
            
992
            ]]>
993
          </xsd:documentation>
994
        </xsd:annotation>
995
      </xsd:element>
996
      <xsd:element name="env-entry-value"
997
                   type="javaee:xsdStringType"
998
                   minOccurs="0">
999
        <xsd:annotation>
1000
          <xsd:documentation>
1001
            <![CDATA[[
1002
            The env-entry-value designates the value of a
1003
            Deployment Component's environment entry. The value
1004
            must be a String that is valid for the
1005
            constructor of the specified type that takes a
1006
            single String parameter, or for java.lang.Character,
1007
            a single character.
1008
            
1009
            Example:
1010
            
1011
            <env-entry-value>100.00</env-entry-value>
1012
            
1013
            ]]>
1014
          </xsd:documentation>
1015
        </xsd:annotation>
1016
      </xsd:element>
1017
      <xsd:group ref="javaee:resourceGroup"/>
1018
    </xsd:sequence>
1019
    <xsd:attribute name="id"
1020
                   type="xsd:ID"/>
1021
  </xsd:complexType>
1022
1023
1024
<!-- **************************************************** -->
1025
1026
  <xsd:complexType name="env-entry-type-valuesType">
1027
    <xsd:annotation>
1028
      <xsd:documentation>
1029
        <![CDATA[[
1030
        This type contains the fully-qualified Java type of the
1031
        environment entry value that is expected by the
1032
        application's code.
1033
        
1034
        The following are the legal values of env-entry-type-valuesType:
1035
        
1036
        java.lang.Boolean
1037
        java.lang.Byte
1038
        java.lang.Character
1039
        java.lang.String
1040
        java.lang.Short
1041
        java.lang.Integer
1042
        java.lang.Long
1043
        java.lang.Float
1044
        java.lang.Double
1045
        		  java.lang.Class
1046
        		  any enumeration type (i.e. a subclass of java.lang.Enum)
1047
        
1048
        Examples:
1049
        
1050
        <env-entry-type>java.lang.Boolean</env-entry-type>
1051
        <env-entry-type>java.lang.Class</env-entry-type>
1052
        <env-entry-type>com.example.Color</env-entry-type>
1053
        
1054
        ]]>
1055
      </xsd:documentation>
1056
    </xsd:annotation>
1057
    <xsd:simpleContent>
1058
      <xsd:restriction base="javaee:fully-qualified-classType"/>
1059
    </xsd:simpleContent>
1060
  </xsd:complexType>
1061
1062
1063
<!-- **************************************************** -->
1064
1065
  <xsd:complexType name="fully-qualified-classType">
1066
    <xsd:annotation>
1067
      <xsd:documentation>
1068
1069
        The elements that use this type designate the name of a
1070
        Java class or interface.  The name is in the form of a
1071
        "binary name", as defined in the JLS.  This is the form
1072
        of name used in Class.forName().  Tools that need the
1073
        canonical name (the name used in source code) will need
1074
        to convert this binary name to the canonical name.
1075
        
1076
      </xsd:documentation>
1077
    </xsd:annotation>
1078
    <xsd:simpleContent>
1079
      <xsd:restriction base="javaee:string"/>
1080
    </xsd:simpleContent>
1081
  </xsd:complexType>
1082
1083
1084
<!-- **************************************************** -->
1085
1086
  <xsd:complexType name="generic-booleanType">
1087
    <xsd:annotation>
1088
      <xsd:documentation>
1089
1090
        This type defines four different values which can designate
1091
        boolean values. This includes values yes and no which are 
1092
        not designated by xsd:boolean
1093
        
1094
      </xsd:documentation>
1095
    </xsd:annotation>
1096
    <xsd:simpleContent>
1097
      <xsd:restriction base="javaee:string">
1098
        <xsd:enumeration value="true"/>
1099
        <xsd:enumeration value="false"/>
1100
        <xsd:enumeration value="yes"/>
1101
        <xsd:enumeration value="no"/>
1102
      </xsd:restriction>
1103
    </xsd:simpleContent>
1104
  </xsd:complexType>
1105
1106
1107
<!-- **************************************************** -->
1108
1109
  <xsd:complexType name="iconType">
1110
    <xsd:annotation>
1111
      <xsd:documentation>
1112
1113
        The icon type contains small-icon and large-icon elements
1114
        that specify the file names for small and large GIF, JPEG,
1115
        or PNG icon images used to represent the parent element in a
1116
        GUI tool. 
1117
        
1118
        The xml:lang attribute defines the language that the
1119
        icon file names are provided in. Its value is "en" (English)
1120
        by default. 
1121
        
1122
      </xsd:documentation>
1123
    </xsd:annotation>
1124
    <xsd:sequence>
1125
      <xsd:element name="small-icon"
1126
                   type="javaee:pathType"
1127
                   minOccurs="0">
1128
        <xsd:annotation>
1129
          <xsd:documentation>
1130
            <![CDATA[[
1131
            The small-icon element contains the name of a file
1132
            containing a small (16 x 16) icon image. The file
1133
            name is a relative path within the Deployment
1134
            Component's Deployment File.
1135
            
1136
            The image may be in the GIF, JPEG, or PNG format.
1137
            The icon can be used by tools.
1138
            
1139
            Example:
1140
            
1141
            <small-icon>employee-service-icon16x16.jpg</small-icon>
1142
            
1143
            ]]>
1144
          </xsd:documentation>
1145
        </xsd:annotation>
1146
      </xsd:element>
1147
      <xsd:element name="large-icon"
1148
                   type="javaee:pathType"
1149
                   minOccurs="0">
1150
        <xsd:annotation>
1151
          <xsd:documentation>
1152
            <![CDATA[[
1153
            The large-icon element contains the name of a file
1154
            containing a large
1155
            (32 x 32) icon image. The file name is a relative 
1156
            path within the Deployment Component's Deployment
1157
            File.
1158
            
1159
            The image may be in the GIF, JPEG, or PNG format.
1160
            The icon can be used by tools.
1161
            
1162
            Example:
1163
            
1164
            <large-icon>employee-service-icon32x32.jpg</large-icon>
1165
            
1166
            ]]>
1167
          </xsd:documentation>
1168
        </xsd:annotation>
1169
      </xsd:element>
1170
    </xsd:sequence>
1171
    <xsd:attribute ref="xml:lang"/>
1172
    <xsd:attribute name="id"
1173
                   type="xsd:ID"/>
1174
  </xsd:complexType>
1175
1176
1177
<!-- **************************************************** -->
1178
1179
  <xsd:complexType name="injection-targetType">
1180
    <xsd:annotation>
1181
      <xsd:documentation>
1182
1183
        An injection target specifies a class and a name within
1184
        that class into which a resource should be injected.
1185
        
1186
        The injection target class specifies the fully qualified
1187
        class name that is the target of the injection.  The
1188
        Java EE specifications describe which classes can be an
1189
        injection target.
1190
        
1191
        The injection target name specifies the target within
1192
        the specified class.  The target is first looked for as a
1193
        JavaBeans property name.  If not found, the target is
1194
        looked for as a field name.
1195
        
1196
        The specified resource will be injected into the target
1197
        during initialization of the class by either calling the
1198
        set method for the target property or by setting a value
1199
        into the named field.
1200
        
1201
      </xsd:documentation>
1202
    </xsd:annotation>
1203
    <xsd:sequence>
1204
      <xsd:element name="injection-target-class"
1205
                   type="javaee:fully-qualified-classType"/>
1206
      <xsd:element name="injection-target-name"
1207
                   type="javaee:java-identifierType"/>
1208
    </xsd:sequence>
1209
  </xsd:complexType>
1210
1211
  <xsd:simpleType name="isolation-levelType">
1212
    <xsd:annotation>
1213
      <xsd:documentation>
1214
1215
        	The following transaction isolation levels are allowed
1216
        	(see documentation for the java.sql.Connection interface):
1217
        TRANSACTION_READ_UNCOMMITTED
1218
        TRANSACTION_READ_COMMITTED
1219
        TRANSACTION_REPEATABLE_READ
1220
        TRANSACTION_SERIALIZABLE
1221
        
1222
      </xsd:documentation>
1223
    </xsd:annotation>
1224
    <xsd:restriction base="xsd:string">
1225
      <xsd:enumeration value="TRANSACTION_READ_UNCOMMITTED"/>
1226
      <xsd:enumeration value="TRANSACTION_READ_COMMITTED"/>
1227
      <xsd:enumeration value="TRANSACTION_REPEATABLE_READ"/>
1228
      <xsd:enumeration value="TRANSACTION_SERIALIZABLE"/>
1229
    </xsd:restriction>
1230
  </xsd:simpleType>
1231
1232
1233
<!-- **************************************************** -->
1234
1235
  <xsd:complexType name="java-identifierType">
1236
    <xsd:annotation>
1237
      <xsd:documentation>
1238
1239
        The java-identifierType defines a Java identifier.
1240
        The users of this type should further verify that 
1241
        the content does not contain Java reserved keywords.
1242
        
1243
      </xsd:documentation>
1244
    </xsd:annotation>
1245
    <xsd:simpleContent>
1246
      <xsd:restriction base="javaee:string">
1247
        <xsd:pattern value="($|_|\p{L})(\p{L}|\p{Nd}|_|$)*"/>
1248
      </xsd:restriction>
1249
    </xsd:simpleContent>
1250
  </xsd:complexType>
1251
1252
1253
<!-- **************************************************** -->
1254
1255
  <xsd:complexType name="java-typeType">
1256
    <xsd:annotation>
1257
      <xsd:documentation>
1258
1259
        This is a generic type that designates a Java primitive
1260
        type or a fully qualified name of a Java interface/type,
1261
        or an array of such types.
1262
        
1263
      </xsd:documentation>
1264
    </xsd:annotation>
1265
    <xsd:simpleContent>
1266
      <xsd:restriction base="javaee:string">
1267
        <xsd:pattern value="[^\p{Z}]*"/>
1268
      </xsd:restriction>
1269
    </xsd:simpleContent>
1270
  </xsd:complexType>
1271
1272
1273
<!-- **************************************************** -->
1274
1275
  <xsd:complexType name="jdbc-urlType">
1276
    <xsd:annotation>
1277
      <xsd:documentation>
1278
        <![CDATA[[
1279
        The jdbc-urlType contains the url pattern of the mapping.
1280
        It must follow the rules specified in Section 9.3 of the
1281
        JDBC Specification where the format is:
1282
        
1283
        jdbc:<subprotocol>:<subname>
1284
        
1285
        Example:
1286
        
1287
        <url>jdbc:mysql://localhost:3307/testdb</url>
1288
        
1289
        ]]>
1290
      </xsd:documentation>
1291
    </xsd:annotation>
1292
    <xsd:simpleContent>
1293
      <xsd:restriction base="javaee:string">
1294
        <xsd:pattern value="jdbc:(.*):(.*)"/>
1295
      </xsd:restriction>
1296
    </xsd:simpleContent>
1297
  </xsd:complexType>
1298
1299
1300
<!-- **************************************************** -->
1301
1302
  <xsd:complexType name="jms-connection-factoryType">
1303
    <xsd:annotation>
1304
      <xsd:documentation>
1305
1306
        Configuration of a JMS Connection Factory.
1307
        
1308
      </xsd:documentation>
1309
    </xsd:annotation>
1310
    <xsd:sequence>
1311
      <xsd:element name="description"
1312
                   type="javaee:descriptionType"
1313
                   minOccurs="0">
1314
        <xsd:annotation>
1315
          <xsd:documentation>
1316
1317
            Description of this JMS Connection Factory.
1318
            
1319
          </xsd:documentation>
1320
        </xsd:annotation>
1321
      </xsd:element>
1322
      <xsd:element name="name"
1323
                   type="javaee:jndi-nameType">
1324
        <xsd:annotation>
1325
          <xsd:documentation>
1326
1327
            The name element specifies the JNDI name of the
1328
            JMS connection factory being defined.
1329
            
1330
          </xsd:documentation>
1331
        </xsd:annotation>
1332
      </xsd:element>
1333
      <xsd:element name="class-name"
1334
                   type="javaee:fully-qualified-classType"
1335
                   minOccurs="0">
1336
        <xsd:annotation>
1337
          <xsd:documentation>
1338
1339
            javax.jms.ConnectionFactory, javax.jms.QueueConnectionFactory, or javax.jms.TopicConnectionFactory
1340
            
1341
          </xsd:documentation>
1342
        </xsd:annotation>
1343
      </xsd:element>
1344
      <xsd:element name="resource-adapter-name"
1345
                   type="javaee:string"
1346
                   minOccurs="0">
1347
        <xsd:annotation>
1348
          <xsd:documentation>
1349
1350
            Resource adapter name.
1351
            
1352
          </xsd:documentation>
1353
        </xsd:annotation>
1354
      </xsd:element>
1355
      <xsd:element name="user"
1356
                   type="javaee:string"
1357
                   minOccurs="0">
1358
        <xsd:annotation>
1359
          <xsd:documentation>
1360
1361
            User name to use for connection authentication.
1362
            
1363
          </xsd:documentation>
1364
        </xsd:annotation>
1365
      </xsd:element>
1366
      <xsd:element name="password"
1367
                   type="javaee:string"
1368
                   minOccurs="0">
1369
        <xsd:annotation>
1370
          <xsd:documentation>
1371
1372
            Password to use for connection authentication.
1373
            
1374
          </xsd:documentation>
1375
        </xsd:annotation>
1376
      </xsd:element>
1377
      <xsd:element name="client-id"
1378
                   type="javaee:string"
1379
                   minOccurs="0">
1380
        <xsd:annotation>
1381
          <xsd:documentation>
1382
1383
            Client id to use for connection.
1384
            
1385
          </xsd:documentation>
1386
        </xsd:annotation>
1387
      </xsd:element>
1388
      <xsd:element name="property"
1389
                   type="javaee:propertyType"
1390
                   minOccurs="0"
1391
                   maxOccurs="unbounded">
1392
        <xsd:annotation>
1393
          <xsd:documentation>
1394
1395
            JMS Connection Factory property.  This may be a vendor-specific
1396
            property or a less commonly used ConnectionFactory property.
1397
            
1398
          </xsd:documentation>
1399
        </xsd:annotation>
1400
      </xsd:element>
1401
      <xsd:element name="transactional"
1402
                   type="javaee:xsdBooleanType"
1403
                   minOccurs="0">
1404
        <xsd:annotation>
1405
          <xsd:documentation>
1406
1407
            Set to false if connections should not participate in
1408
            transactions.
1409
            
1410
          </xsd:documentation>
1411
        </xsd:annotation>
1412
      </xsd:element>
1413
      <xsd:element name="max-pool-size"
1414
                   type="javaee:xsdIntegerType"
1415
                   minOccurs="0">
1416
        <xsd:annotation>
1417
          <xsd:documentation>
1418
1419
            Maximum number of connections that should be concurrently
1420
            allocated for a connection pool.
1421
            
1422
          </xsd:documentation>
1423
        </xsd:annotation>
1424
      </xsd:element>
1425
      <xsd:element name="min-pool-size"
1426
                   type="javaee:xsdIntegerType"
1427
                   minOccurs="0">
1428
        <xsd:annotation>
1429
          <xsd:documentation>
1430
1431
            Minimum number of connections that should be concurrently
1432
            allocated for a connection pool.
1433
            
1434
          </xsd:documentation>
1435
        </xsd:annotation>
1436
      </xsd:element>
1437
      <xsd:element name="max-idle-time"
1438
                   type="javaee:xsdIntegerType"
1439
                   minOccurs="0">
1440
        <xsd:annotation>
1441
          <xsd:documentation>
1442
1443
            The number of seconds that a physical connection should
1444
            remain unused in the pool before the connection is
1445
            closed for a connection pool.
1446
            
1447
          </xsd:documentation>
1448
        </xsd:annotation>
1449
      </xsd:element>
1450
    </xsd:sequence>
1451
    <xsd:attribute name="id"
1452
                   type="xsd:ID"/>
1453
  </xsd:complexType>
1454
1455
1456
<!-- **************************************************** -->
1457
1458
  <xsd:complexType name="jms-destinationType">
1459
    <xsd:annotation>
1460
      <xsd:documentation>
1461
1462
        Configuration of a JMS Destination.
1463
        
1464
      </xsd:documentation>
1465
    </xsd:annotation>
1466
    <xsd:sequence>
1467
      <xsd:element name="description"
1468
                   type="javaee:descriptionType"
1469
                   minOccurs="0">
1470
        <xsd:annotation>
1471
          <xsd:documentation>
1472
1473
            Description of this JMS Destination.
1474
            
1475
          </xsd:documentation>
1476
        </xsd:annotation>
1477
      </xsd:element>
1478
      <xsd:element name="name"
1479
                   type="javaee:jndi-nameType">
1480
        <xsd:annotation>
1481
          <xsd:documentation>
1482
1483
            The name element specifies the JNDI name of the
1484
            JMS destination being defined.
1485
            
1486
          </xsd:documentation>
1487
        </xsd:annotation>
1488
      </xsd:element>
1489
      <xsd:element name="class-name"
1490
                   type="javaee:fully-qualified-classType"
1491
                   minOccurs="0">
1492
        <xsd:annotation>
1493
          <xsd:documentation>
1494
1495
            javax.jms.Queue or javax.jms.Topic
1496
            
1497
          </xsd:documentation>
1498
        </xsd:annotation>
1499
      </xsd:element>
1500
      <xsd:element name="resource-adapter-name"
1501
                   type="javaee:string"
1502
                   minOccurs="0">
1503
        <xsd:annotation>
1504
          <xsd:documentation>
1505
1506
            Resource adapter name.
1507
            
1508
          </xsd:documentation>
1509
        </xsd:annotation>
1510
      </xsd:element>
1511
      <xsd:element name="destination-name"
1512
                   type="javaee:string"
1513
                   minOccurs="0">
1514
        <xsd:annotation>
1515
          <xsd:documentation>
1516
1517
            Name of the queue or topic.
1518
            
1519
          </xsd:documentation>
1520
        </xsd:annotation>
1521
      </xsd:element>
1522
      <xsd:element name="property"
1523
                   type="javaee:propertyType"
1524
                   minOccurs="0"
1525
                   maxOccurs="unbounded">
1526
        <xsd:annotation>
1527
          <xsd:documentation>
1528
1529
            JMS Destination property.  This may be a vendor-specific
1530
            property or a less commonly used Destination property.
1531
            
1532
          </xsd:documentation>
1533
        </xsd:annotation>
1534
      </xsd:element>
1535
    </xsd:sequence>
1536
    <xsd:attribute name="id"
1537
                   type="xsd:ID"/>
1538
  </xsd:complexType>
1539
1540
1541
<!-- **************************************************** -->
1542
1543
  <xsd:complexType name="jndi-nameType">
1544
    <xsd:annotation>
1545
      <xsd:documentation>
1546
1547
        The jndi-nameType type designates a JNDI name in the
1548
        Deployment Component's environment and is relative to the
1549
        java:comp/env context.  A JNDI name must be unique within the
1550
        Deployment Component.
1551
        
1552
      </xsd:documentation>
1553
    </xsd:annotation>
1554
    <xsd:simpleContent>
1555
      <xsd:restriction base="javaee:string"/>
1556
    </xsd:simpleContent>
1557
  </xsd:complexType>
1558
1559
1560
<!-- **************************************************** -->
1561
1562
  <xsd:complexType name="homeType">
1563
    <xsd:annotation>
1564
      <xsd:documentation>
1565
        <![CDATA[[
1566
        The homeType defines the fully-qualified name of
1567
        an enterprise bean's home interface. 
1568
        
1569
        Example:
1570
        
1571
        <home>com.aardvark.payroll.PayrollHome</home>
1572
        
1573
        ]]>
1574
      </xsd:documentation>
1575
    </xsd:annotation>
1576
    <xsd:simpleContent>
1577
      <xsd:restriction base="javaee:fully-qualified-classType"/>
1578
    </xsd:simpleContent>
1579
  </xsd:complexType>
1580
1581
1582
<!-- **************************************************** -->
1583
1584
  <xsd:complexType name="lifecycle-callbackType">
1585
    <xsd:annotation>
1586
      <xsd:documentation>
1587
1588
        The lifecycle-callback type specifies a method on a
1589
        class to be called when a lifecycle event occurs.
1590
        Note that each class may have only one lifecycle callback
1591
        method for any given event and that the method may not
1592
        be overloaded.
1593
        
1594
        If the lifefycle-callback-class element is missing then
1595
        the class defining the callback is assumed to be the
1596
        component class in scope at the place in the descriptor
1597
        in which the callback definition appears.
1598
        
1599
      </xsd:documentation>
1600
    </xsd:annotation>
1601
    <xsd:sequence>
1602
      <xsd:element name="lifecycle-callback-class"
1603
                   type="javaee:fully-qualified-classType"
1604
                   minOccurs="0"/>
1605
      <xsd:element name="lifecycle-callback-method"
1606
                   type="javaee:java-identifierType"/>
1607
    </xsd:sequence>
1608
  </xsd:complexType>
1609
1610
1611
<!-- **************************************************** -->
1612
1613
  <xsd:complexType name="listenerType">
1614
    <xsd:annotation>
1615
      <xsd:documentation>
1616
1617
        The listenerType indicates the deployment properties for a web
1618
        application listener bean.
1619
        
1620
      </xsd:documentation>
1621
    </xsd:annotation>
1622
    <xsd:sequence>
1623
      <xsd:group ref="javaee:descriptionGroup"/>
1624
      <xsd:element name="listener-class"
1625
                   type="javaee:fully-qualified-classType">
1626
        <xsd:annotation>
1627
          <xsd:documentation>
1628
1629
            The listener-class element declares a class in the
1630
            application must be registered as a web
1631
            application listener bean. The value is the fully
1632
            qualified classname of the listener class.
1633
            
1634
          </xsd:documentation>
1635
        </xsd:annotation>
1636
      </xsd:element>
1637
    </xsd:sequence>
1638
    <xsd:attribute name="id"
1639
                   type="xsd:ID"/>
1640
  </xsd:complexType>
1641
1642
1643
<!-- **************************************************** -->
1644
1645
  <xsd:complexType name="localType">
1646
    <xsd:annotation>
1647
      <xsd:documentation>
1648
1649
        The localType defines the fully-qualified name of an
1650
        enterprise bean's local interface.
1651
        
1652
      </xsd:documentation>
1653
    </xsd:annotation>
1654
    <xsd:simpleContent>
1655
      <xsd:restriction base="javaee:fully-qualified-classType"/>
1656
    </xsd:simpleContent>
1657
  </xsd:complexType>
1658
1659
1660
<!-- **************************************************** -->
1661
1662
  <xsd:complexType name="local-homeType">
1663
    <xsd:annotation>
1664
      <xsd:documentation>
1665
1666
        The local-homeType defines the fully-qualified
1667
        name of an enterprise bean's local home interface.
1668
        
1669
      </xsd:documentation>
1670
    </xsd:annotation>
1671
    <xsd:simpleContent>
1672
      <xsd:restriction base="javaee:fully-qualified-classType"/>
1673
    </xsd:simpleContent>
1674
  </xsd:complexType>
1675
1676
1677
<!-- **************************************************** -->
1678
1679
  <xsd:complexType name="mail-sessionType">
1680
    <xsd:annotation>
1681
      <xsd:documentation>
1682
1683
        Configuration of a Mail Session resource.
1684
        
1685
      </xsd:documentation>
1686
    </xsd:annotation>
1687
    <xsd:sequence>
1688
      <xsd:element name="description"
1689
                   type="javaee:descriptionType"
1690
                   minOccurs="0">
1691
        <xsd:annotation>
1692
          <xsd:documentation>
1693
1694
            Description of this Mail Session resource.
1695
            
1696
          </xsd:documentation>
1697
        </xsd:annotation>
1698
      </xsd:element>
1699
      <xsd:element name="name"
1700
                   type="javaee:jndi-nameType">
1701
        <xsd:annotation>
1702
          <xsd:documentation>
1703
1704
            The name element specifies the JNDI name of the
1705
            Mail Session resource being defined.
1706
            
1707
          </xsd:documentation>
1708
        </xsd:annotation>
1709
      </xsd:element>
1710
      <xsd:element name="store-protocol"
1711
                   type="javaee:string"
1712
                   minOccurs="0">
1713
        <xsd:annotation>
1714
          <xsd:documentation>
1715
1716
            Storage protocol.
1717
            
1718
          </xsd:documentation>
1719
        </xsd:annotation>
1720
      </xsd:element>
1721
      <xsd:element name="store-protocol-class"
1722
                   type="javaee:fully-qualified-classType"
1723
                   minOccurs="0">
1724
        <xsd:annotation>
1725
          <xsd:documentation>
1726
1727
            Service provider store protocol implementation class
1728
            
1729
          </xsd:documentation>
1730
        </xsd:annotation>
1731
      </xsd:element>
1732
      <xsd:element name="transport-protocol"
1733
                   type="javaee:string"
1734
                   minOccurs="0">
1735
        <xsd:annotation>
1736
          <xsd:documentation>
1737
1738
            Transport protocol.
1739
            
1740
          </xsd:documentation>
1741
        </xsd:annotation>
1742
      </xsd:element>
1743
      <xsd:element name="transport-protocol-class"
1744
                   type="javaee:fully-qualified-classType"
1745
                   minOccurs="0">
1746
        <xsd:annotation>
1747
          <xsd:documentation>
1748
1749
            Service provider transport protocol implementation class
1750
            
1751
          </xsd:documentation>
1752
        </xsd:annotation>
1753
      </xsd:element>
1754
      <xsd:element name="host"
1755
                   type="javaee:string"
1756
                   minOccurs="0">
1757
        <xsd:annotation>
1758
          <xsd:documentation>
1759
1760
            Mail server host name.
1761
            
1762
          </xsd:documentation>
1763
        </xsd:annotation>
1764
      </xsd:element>
1765
      <xsd:element name="user"
1766
                   type="javaee:string"
1767
                   minOccurs="0">
1768
        <xsd:annotation>
1769
          <xsd:documentation>
1770
1771
            Mail server user name.
1772
            
1773
          </xsd:documentation>
1774
        </xsd:annotation>
1775
      </xsd:element>
1776
      <xsd:element name="password"
1777
                   type="javaee:string"
1778
                   minOccurs="0">
1779
        <xsd:annotation>
1780
          <xsd:documentation>
1781
1782
            Password.
1783
            
1784
          </xsd:documentation>
1785
        </xsd:annotation>
1786
      </xsd:element>
1787
      <xsd:element name="from"
1788
                   type="javaee:string"
1789
                   minOccurs="0">
1790
        <xsd:annotation>
1791
          <xsd:documentation>
1792
1793
            Email address to indicate the message sender.
1794
            
1795
          </xsd:documentation>
1796
        </xsd:annotation>
1797
      </xsd:element>
1798
      <xsd:element name="property"
1799
                   type="javaee:propertyType"
1800
                   minOccurs="0"
1801
                   maxOccurs="unbounded">
1802
        <xsd:annotation>
1803
          <xsd:documentation>
1804
1805
            Mail server property.  This may be a vendor-specific
1806
            property.
1807
            
1808
          </xsd:documentation>
1809
        </xsd:annotation>
1810
      </xsd:element>
1811
    </xsd:sequence>
1812
    <xsd:attribute name="id"
1813
                   type="xsd:ID"/>
1814
  </xsd:complexType>
1815
1816
1817
<!-- **************************************************** -->
1818
1819
  <xsd:complexType name="param-valueType">
1820
    <xsd:annotation>
1821
      <xsd:documentation>
1822
1823
        This type is a general type that can be used to declare
1824
        parameter/value lists.
1825
        
1826
      </xsd:documentation>
1827
    </xsd:annotation>
1828
    <xsd:sequence>
1829
      <xsd:element name="description"
1830
                   type="javaee:descriptionType"
1831
                   minOccurs="0"
1832
                   maxOccurs="unbounded"/>
1833
      <xsd:element name="param-name"
1834
                   type="javaee:string">
1835
        <xsd:annotation>
1836
          <xsd:documentation>
1837
1838
            The param-name element contains the name of a
1839
            parameter.
1840
            
1841
          </xsd:documentation>
1842
        </xsd:annotation>
1843
      </xsd:element>
1844
      <xsd:element name="param-value"
1845
                   type="javaee:xsdStringType">
1846
        <xsd:annotation>
1847
          <xsd:documentation>
1848
1849
            The param-value element contains the value of a
1850
            parameter.
1851
            
1852
          </xsd:documentation>
1853
        </xsd:annotation>
1854
      </xsd:element>
1855
    </xsd:sequence>
1856
    <xsd:attribute name="id"
1857
                   type="xsd:ID"/>
1858
  </xsd:complexType>
1859
1860
1861
<!-- **************************************************** -->
1862
1863
  <xsd:complexType name="pathType">
1864
    <xsd:annotation>
1865
      <xsd:documentation>
1866
1867
        The elements that use this type designate either a relative
1868
        path or an absolute path starting with a "/".
1869
        
1870
        In elements that specify a pathname to a file within the
1871
        same Deployment File, relative filenames (i.e., those not
1872
        starting with "/") are considered relative to the root of
1873
        the Deployment File's namespace.  Absolute filenames (i.e.,
1874
        those starting with "/") also specify names in the root of
1875
        the Deployment File's namespace.  In general, relative names
1876
        are preferred.  The exception is .war files where absolute
1877
        names are preferred for consistency with the Servlet API.
1878
        
1879
      </xsd:documentation>
1880
    </xsd:annotation>
1881
    <xsd:simpleContent>
1882
      <xsd:restriction base="javaee:string"/>
1883
    </xsd:simpleContent>
1884
  </xsd:complexType>
1885
1886
1887
<!-- **************************************************** -->
1888
1889
  <xsd:complexType name="persistence-context-refType">
1890
    <xsd:annotation>
1891
      <xsd:documentation>
1892
        <![CDATA[[
1893
        The persistence-context-ref element contains a declaration
1894
        of Deployment Component's reference to a persistence context
1895
        associated within a Deployment Component's
1896
        environment. It consists of:
1897
        
1898
        - an optional description
1899
        - the persistence context reference name
1900
        - an optional persistence unit name.  If not specified,
1901
        the default persistence unit is assumed.
1902
        - an optional specification as to whether
1903
        the persistence context type is Transaction or
1904
        Extended.  If not specified, Transaction is assumed.
1905
        - an optional specification as to whether
1906
        the persistence context synchronization with the current
1907
        transaction is Synchronized or Unsynchronized. If not
1908
        specified, Synchronized is assumed.
1909
        - an optional list of persistence properties
1910
        - optional injection targets
1911
        
1912
        Examples:
1913
        
1914
        <persistence-context-ref>
1915
        <persistence-context-ref-name>myPersistenceContext
1916
        </persistence-context-ref-name>
1917
        </persistence-context-ref>
1918
        
1919
        <persistence-context-ref>
1920
        <persistence-context-ref-name>myPersistenceContext
1921
        </persistence-context-ref-name>
1922
        <persistence-unit-name>PersistenceUnit1
1923
        </persistence-unit-name>
1924
        <persistence-context-type>Extended</persistence-context-type>
1925
        </persistence-context-ref>
1926
        
1927
        ]]>
1928
      </xsd:documentation>
1929
    </xsd:annotation>
1930
    <xsd:sequence>
1931
      <xsd:element name="description"
1932
                   type="javaee:descriptionType"
1933
                   minOccurs="0"
1934
                   maxOccurs="unbounded"/>
1935
      <xsd:element name="persistence-context-ref-name"
1936
                   type="javaee:jndi-nameType">
1937
        <xsd:annotation>
1938
          <xsd:documentation>
1939
1940
            The persistence-context-ref-name element specifies
1941
            the name of a persistence context reference; its
1942
            value is the environment entry name used in
1943
            Deployment Component code.  The name is a JNDI name
1944
            relative to the java:comp/env context.
1945
            
1946
          </xsd:documentation>
1947
        </xsd:annotation>
1948
      </xsd:element>
1949
      <xsd:element name="persistence-unit-name"
1950
                   type="javaee:string"
1951
                   minOccurs="0">
1952
        <xsd:annotation>
1953
          <xsd:documentation>
1954
1955
            The Application Assembler(or BeanProvider) may use the
1956
            following syntax to avoid the need to rename persistence
1957
            units to have unique names within a Java EE application.
1958
            
1959
            The Application Assembler specifies the pathname of the
1960
            root of the persistence.xml file for the referenced
1961
            persistence unit and appends the name of the persistence
1962
            unit separated from the pathname by #. The pathname is
1963
            relative to the referencing application component jar file. 
1964
            In this manner, multiple persistence units with the same
1965
            persistence unit name may be uniquely identified when the 
1966
            Application Assembler cannot change persistence unit names.
1967
            
1968
          </xsd:documentation>
1969
        </xsd:annotation>
1970
      </xsd:element>
1971
      <xsd:element name="persistence-context-type"
1972
                   type="javaee:persistence-context-typeType"
1973
                   minOccurs="0"/>
1974
      <xsd:element name="persistence-context-synchronization"
1975
                   type="javaee:persistence-context-synchronizationType"
1976
                   minOccurs="0"/>
1977
      <xsd:element name="persistence-property"
1978
                   type="javaee:propertyType"
1979
                   minOccurs="0"
1980
                   maxOccurs="unbounded">
1981
        <xsd:annotation>
1982
          <xsd:documentation>
1983
1984
            Used to specify properties for the container or persistence
1985
            provider.  Vendor-specific properties may be included in
1986
            the set of properties.  Properties that are not recognized
1987
            by a vendor must be ignored.  Entries that make use of the 
1988
            namespace javax.persistence and its subnamespaces must not
1989
            be used for vendor-specific properties.  The namespace
1990
            javax.persistence is reserved for use by the specification.
1991
            
1992
          </xsd:documentation>
1993
        </xsd:annotation>
1994
      </xsd:element>
1995
      <xsd:group ref="javaee:resourceBaseGroup"/>
1996
    </xsd:sequence>
1997
    <xsd:attribute name="id"
1998
                   type="xsd:ID"/>
1999
  </xsd:complexType>
2000
2001
2002
<!-- **************************************************** -->
2003
2004
  <xsd:complexType name="persistence-context-synchronizationType">
2005
    <xsd:annotation>
2006
      <xsd:documentation>
2007
2008
        The persistence-context-synchronizationType specifies 
2009
        whether a container-managed persistence context is automatically
2010
        synchronized with the current transaction.
2011
        
2012
        The value of the persistence-context-synchronization element 
2013
        must be one of the following:
2014
        Synchronized
2015
        Unsynchronized
2016
        
2017
      </xsd:documentation>
2018
    </xsd:annotation>
2019
    <xsd:simpleContent>
2020
      <xsd:restriction base="javaee:string">
2021
        <xsd:enumeration value="Synchronized"/>
2022
        <xsd:enumeration value="Unsynchronized"/>
2023
      </xsd:restriction>
2024
    </xsd:simpleContent>
2025
  </xsd:complexType>
2026
2027
2028
<!-- **************************************************** -->
2029
2030
  <xsd:complexType name="persistence-context-typeType">
2031
    <xsd:annotation>
2032
      <xsd:documentation>
2033
2034
        The persistence-context-typeType specifies the transactional
2035
        nature of a persistence context reference.  
2036
        
2037
        The value of the persistence-context-type element must be
2038
        one of the following:
2039
        Transaction
2040
        Extended
2041
        
2042
      </xsd:documentation>
2043
    </xsd:annotation>
2044
    <xsd:simpleContent>
2045
      <xsd:restriction base="javaee:string">
2046
        <xsd:enumeration value="Transaction"/>
2047
        <xsd:enumeration value="Extended"/>
2048
      </xsd:restriction>
2049
    </xsd:simpleContent>
2050
  </xsd:complexType>
2051
2052
2053
<!-- **************************************************** -->
2054
2055
  <xsd:complexType name="propertyType">
2056
    <xsd:annotation>
2057
      <xsd:documentation>
2058
2059
        Specifies a name/value pair.
2060
        
2061
      </xsd:documentation>
2062
    </xsd:annotation>
2063
    <xsd:sequence>
2064
      <xsd:element name="name"
2065
                   type="javaee:xsdStringType">
2066
      </xsd:element>
2067
      <xsd:element name="value"
2068
                   type="javaee:xsdStringType">
2069
      </xsd:element>
2070
    </xsd:sequence>
2071
    <xsd:attribute name="id"
2072
                   type="xsd:ID"/>
2073
  </xsd:complexType>
2074
2075
2076
<!-- **************************************************** -->
2077
2078
  <xsd:complexType name="persistence-unit-refType">
2079
    <xsd:annotation>
2080
      <xsd:documentation>
2081
        <![CDATA[[
2082
        The persistence-unit-ref element contains a declaration
2083
        of Deployment Component's reference to a persistence unit
2084
        associated within a Deployment Component's
2085
        environment. It consists of:
2086
        
2087
        - an optional description
2088
        - the persistence unit reference name
2089
        - an optional persistence unit name.  If not specified,
2090
        the default persistence unit is assumed.
2091
        - optional injection targets
2092
        
2093
        Examples:
2094
        
2095
        <persistence-unit-ref>
2096
        <persistence-unit-ref-name>myPersistenceUnit
2097
        </persistence-unit-ref-name>
2098
        </persistence-unit-ref>
2099
        
2100
        <persistence-unit-ref>
2101
        <persistence-unit-ref-name>myPersistenceUnit
2102
        </persistence-unit-ref-name>
2103
        <persistence-unit-name>PersistenceUnit1
2104
        </persistence-unit-name>
2105
        </persistence-unit-ref>
2106
        
2107
        ]]>
2108
      </xsd:documentation>
2109
    </xsd:annotation>
2110
    <xsd:sequence>
2111
      <xsd:element name="description"
2112
                   type="javaee:descriptionType"
2113
                   minOccurs="0"
2114
                   maxOccurs="unbounded"/>
2115
      <xsd:element name="persistence-unit-ref-name"
2116
                   type="javaee:jndi-nameType">
2117
        <xsd:annotation>
2118
          <xsd:documentation>
2119
2120
            The persistence-unit-ref-name element specifies
2121
            the name of a persistence unit reference; its
2122
            value is the environment entry name used in
2123
            Deployment Component code.  The name is a JNDI name
2124
            relative to the java:comp/env context.
2125
            
2126
          </xsd:documentation>
2127
        </xsd:annotation>
2128
      </xsd:element>
2129
      <xsd:element name="persistence-unit-name"
2130
                   type="javaee:string"
2131
                   minOccurs="0">
2132
        <xsd:annotation>
2133
          <xsd:documentation>
2134
2135
            The Application Assembler(or BeanProvider) may use the
2136
            following syntax to avoid the need to rename persistence
2137
            units to have unique names within a Java EE application.
2138
            
2139
            The Application Assembler specifies the pathname of the
2140
            root of the persistence.xml file for the referenced
2141
            persistence unit and appends the name of the persistence
2142
            unit separated from the pathname by #. The pathname is
2143
            relative to the referencing application component jar file. 
2144
            In this manner, multiple persistence units with the same
2145
            persistence unit name may be uniquely identified when the 
2146
            Application Assembler cannot change persistence unit names.
2147
            
2148
          </xsd:documentation>
2149
        </xsd:annotation>
2150
      </xsd:element>
2151
      <xsd:group ref="javaee:resourceBaseGroup"/>
2152
    </xsd:sequence>
2153
    <xsd:attribute name="id"
2154
                   type="xsd:ID"/>
2155
  </xsd:complexType>
2156
2157
2158
<!-- **************************************************** -->
2159
2160
  <xsd:complexType name="remoteType">
2161
    <xsd:annotation>
2162
      <xsd:documentation>
2163
        <![CDATA[[
2164
        The remote element contains the fully-qualified name
2165
        of the enterprise bean's remote interface.
2166
        
2167
        Example:
2168
        
2169
        <remote>com.wombat.empl.EmployeeService</remote>
2170
        
2171
        ]]>
2172
      </xsd:documentation>
2173
    </xsd:annotation>
2174
    <xsd:simpleContent>
2175
      <xsd:restriction base="javaee:fully-qualified-classType"/>
2176
    </xsd:simpleContent>
2177
  </xsd:complexType>
2178
2179
2180
<!-- **************************************************** -->
2181
2182
  <xsd:complexType name="resource-env-refType">
2183
    <xsd:annotation>
2184
      <xsd:documentation>
2185
        <![CDATA[[
2186
        The resource-env-refType is used to define
2187
        resource-env-ref elements.  It contains a declaration of a
2188
        Deployment Component's reference to an administered object
2189
        associated with a resource in the Deployment Component's
2190
        environment.  It consists of an optional description, the
2191
        resource environment reference name, and an optional
2192
        indication of the resource environment reference type
2193
        expected by the Deployment Component code.
2194
        
2195
        It also includes optional elements to define injection of
2196
        the named resource into fields or JavaBeans properties.
2197
        
2198
        The resource environment type must be supplied unless an
2199
        injection target is specified, in which case the type
2200
        of the target is used.  If both are specified, the type
2201
        must be assignment compatible with the type of the injection
2202
        target.
2203
        
2204
        Example:
2205
        
2206
        <resource-env-ref>
2207
        <resource-env-ref-name>jms/StockQueue
2208
        </resource-env-ref-name>
2209
        <resource-env-ref-type>javax.jms.Queue
2210
        </resource-env-ref-type>
2211
        </resource-env-ref>
2212
        
2213
        ]]>
2214
      </xsd:documentation>
2215
    </xsd:annotation>
2216
    <xsd:sequence>
2217
      <xsd:element name="description"
2218
                   type="javaee:descriptionType"
2219
                   minOccurs="0"
2220
                   maxOccurs="unbounded"/>
2221
      <xsd:element name="resource-env-ref-name"
2222
                   type="javaee:jndi-nameType">
2223
        <xsd:annotation>
2224
          <xsd:documentation>
2225
2226
            The resource-env-ref-name element specifies the name
2227
            of a resource environment reference; its value is
2228
            the environment entry name used in
2229
            the Deployment Component code.  The name is a JNDI 
2230
            name relative to the java:comp/env context and must 
2231
            be unique within a Deployment Component.
2232
            
2233
          </xsd:documentation>
2234
        </xsd:annotation>
2235
      </xsd:element>
2236
      <xsd:element name="resource-env-ref-type"
2237
                   type="javaee:fully-qualified-classType"
2238
                   minOccurs="0">
2239
        <xsd:annotation>
2240
          <xsd:documentation>
2241
2242
            The resource-env-ref-type element specifies the type
2243
            of a resource environment reference.  It is the
2244
            fully qualified name of a Java language class or
2245
            interface.
2246
            
2247
          </xsd:documentation>
2248
        </xsd:annotation>
2249
      </xsd:element>
2250
      <xsd:group ref="javaee:resourceGroup"/>
2251
    </xsd:sequence>
2252
    <xsd:attribute name="id"
2253
                   type="xsd:ID"/>
2254
  </xsd:complexType>
2255
2256
2257
<!-- **************************************************** -->
2258
2259
  <xsd:complexType name="resource-refType">
2260
    <xsd:annotation>
2261
      <xsd:documentation>
2262
        <![CDATA[[
2263
        The resource-refType contains a declaration of a
2264
        Deployment Component's reference to an external resource. It
2265
        consists of an optional description, the resource manager
2266
        connection factory reference name, an optional indication of
2267
        the resource manager connection factory type expected by the
2268
        Deployment Component code, an optional type of authentication
2269
        (Application or Container), and an optional specification of
2270
        the shareability of connections obtained from the resource
2271
        (Shareable or Unshareable).
2272
        
2273
        It also includes optional elements to define injection of
2274
        the named resource into fields or JavaBeans properties.
2275
        
2276
        The connection factory type must be supplied unless an
2277
        injection target is specified, in which case the type
2278
        of the target is used.  If both are specified, the type
2279
        must be assignment compatible with the type of the injection
2280
        target.
2281
        
2282
        Example:
2283
        
2284
        <resource-ref>
2285
        <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
2286
        <res-type>javax.sql.DataSource</res-type>
2287
        <res-auth>Container</res-auth>
2288
        <res-sharing-scope>Shareable</res-sharing-scope>
2289
        </resource-ref>
2290
        
2291
        ]]>
2292
      </xsd:documentation>
2293
    </xsd:annotation>
2294
    <xsd:sequence>
2295
      <xsd:element name="description"
2296
                   type="javaee:descriptionType"
2297
                   minOccurs="0"
2298
                   maxOccurs="unbounded"/>
2299
      <xsd:element name="res-ref-name"
2300
                   type="javaee:jndi-nameType">
2301
        <xsd:annotation>
2302
          <xsd:documentation>
2303
2304
            The res-ref-name element specifies the name of a
2305
            resource manager connection factory reference.
2306
            The name is a JNDI name relative to the
2307
            java:comp/env context.  
2308
            The name must be unique within a Deployment File. 
2309
            
2310
          </xsd:documentation>
2311
        </xsd:annotation>
2312
      </xsd:element>
2313
      <xsd:element name="res-type"
2314
                   type="javaee:fully-qualified-classType"
2315
                   minOccurs="0">
2316
        <xsd:annotation>
2317
          <xsd:documentation>
2318
2319
            The res-type element specifies the type of the data
2320
            source. The type is specified by the fully qualified
2321
            Java language class or interface
2322
            expected to be implemented by the data source.
2323
            
2324
          </xsd:documentation>
2325
        </xsd:annotation>
2326
      </xsd:element>
2327
      <xsd:element name="res-auth"
2328
                   type="javaee:res-authType"
2329
                   minOccurs="0"/>
2330
      <xsd:element name="res-sharing-scope"
2331
                   type="javaee:res-sharing-scopeType"
2332
                   minOccurs="0"/>
2333
      <xsd:group ref="javaee:resourceGroup"/>
2334
    </xsd:sequence>
2335
    <xsd:attribute name="id"
2336
                   type="xsd:ID"/>
2337
  </xsd:complexType>
2338
2339
2340
<!-- **************************************************** -->
2341
2342
  <xsd:complexType name="res-authType">
2343
    <xsd:annotation>
2344
      <xsd:documentation>
2345
2346
        The res-authType specifies whether the Deployment Component
2347
        code signs on programmatically to the resource manager, or
2348
        whether the Container will sign on to the resource manager
2349
        on behalf of the Deployment Component. In the latter case,
2350
        the Container uses information that is supplied by the
2351
        Deployer.
2352
        
2353
        The value must be one of the two following:
2354
        
2355
        Application
2356
        Container
2357
        
2358
      </xsd:documentation>
2359
    </xsd:annotation>
2360
    <xsd:simpleContent>
2361
      <xsd:restriction base="javaee:string">
2362
        <xsd:enumeration value="Application"/>
2363
        <xsd:enumeration value="Container"/>
2364
      </xsd:restriction>
2365
    </xsd:simpleContent>
2366
  </xsd:complexType>
2367
2368
2369
<!-- **************************************************** -->
2370
2371
  <xsd:complexType name="res-sharing-scopeType">
2372
    <xsd:annotation>
2373
      <xsd:documentation>
2374
2375
        The res-sharing-scope type specifies whether connections
2376
        obtained through the given resource manager connection
2377
        factory reference can be shared. The value, if specified,
2378
        must be one of the two following:
2379
        
2380
        Shareable
2381
        Unshareable
2382
        
2383
        The default value is Shareable.
2384
        
2385
      </xsd:documentation>
2386
    </xsd:annotation>
2387
    <xsd:simpleContent>
2388
      <xsd:restriction base="javaee:string">
2389
        <xsd:enumeration value="Shareable"/>
2390
        <xsd:enumeration value="Unshareable"/>
2391
      </xsd:restriction>
2392
    </xsd:simpleContent>
2393
  </xsd:complexType>
2394
2395
2396
<!-- **************************************************** -->
2397
2398
  <xsd:complexType name="run-asType">
2399
    <xsd:annotation>
2400
      <xsd:documentation>
2401
2402
        The run-asType specifies the run-as identity to be
2403
        used for the execution of a component. It contains an 
2404
        optional description, and the name of a security role.
2405
        
2406
      </xsd:documentation>
2407
    </xsd:annotation>
2408
    <xsd:sequence>
2409
      <xsd:element name="description"
2410
                   type="javaee:descriptionType"
2411
                   minOccurs="0"
2412
                   maxOccurs="unbounded"/>
2413
      <xsd:element name="role-name"
2414
                   type="javaee:role-nameType"/>
2415
    </xsd:sequence>
2416
    <xsd:attribute name="id"
2417
                   type="xsd:ID"/>
2418
  </xsd:complexType>
2419
2420
2421
<!-- **************************************************** -->
2422
2423
  <xsd:complexType name="role-nameType">
2424
    <xsd:annotation>
2425
      <xsd:documentation>
2426
2427
        The role-nameType designates the name of a security role.
2428
        
2429
        The name must conform to the lexical rules for a token.
2430
        
2431
      </xsd:documentation>
2432
    </xsd:annotation>
2433
    <xsd:simpleContent>
2434
      <xsd:restriction base="javaee:string"/>
2435
    </xsd:simpleContent>
2436
  </xsd:complexType>
2437
2438
2439
<!-- **************************************************** -->
2440
2441
  <xsd:complexType name="security-roleType">
2442
    <xsd:annotation>
2443
      <xsd:documentation>
2444
        <![CDATA[[
2445
        The security-roleType contains the definition of a security
2446
        role. The definition consists of an optional description of
2447
        the security role, and the security role name.
2448
        
2449
        Example:
2450
        
2451
        <security-role>
2452
        <description>
2453
        This role includes all employees who are authorized
2454
        to access the employee service application.
2455
        </description>
2456
        <role-name>employee</role-name>
2457
        </security-role>
2458
        
2459
        ]]>
2460
      </xsd:documentation>
2461
    </xsd:annotation>
2462
    <xsd:sequence>
2463
      <xsd:element name="description"
2464
                   type="javaee:descriptionType"
2465
                   minOccurs="0"
2466
                   maxOccurs="unbounded"/>
2467
      <xsd:element name="role-name"
2468
                   type="javaee:role-nameType"/>
2469
    </xsd:sequence>
2470
    <xsd:attribute name="id"
2471
                   type="xsd:ID"/>
2472
  </xsd:complexType>
2473
2474
2475
<!-- **************************************************** -->
2476
2477
  <xsd:complexType name="security-role-refType">
2478
    <xsd:annotation>
2479
      <xsd:documentation>
2480
2481
        The security-role-refType contains the declaration of a
2482
        security role reference in a component's or a
2483
        Deployment Component's code. The declaration consists of an
2484
        optional description, the security role name used in the
2485
        code, and an optional link to a security role. If the
2486
        security role is not specified, the Deployer must choose an
2487
        appropriate security role.
2488
        
2489
      </xsd:documentation>
2490
    </xsd:annotation>
2491
    <xsd:sequence>
2492
      <xsd:element name="description"
2493
                   type="javaee:descriptionType"
2494
                   minOccurs="0"
2495
                   maxOccurs="unbounded"/>
2496
      <xsd:element name="role-name"
2497
                   type="javaee:role-nameType">
2498
        <xsd:annotation>
2499
          <xsd:documentation>
2500
2501
            The value of the role-name element must be the String used
2502
            as the parameter to the 
2503
            EJBContext.isCallerInRole(String roleName) method or the
2504
            HttpServletRequest.isUserInRole(String role) method.
2505
            
2506
          </xsd:documentation>
2507
        </xsd:annotation>
2508
      </xsd:element>
2509
      <xsd:element name="role-link"
2510
                   type="javaee:role-nameType"
2511
                   minOccurs="0">
2512
        <xsd:annotation>
2513
          <xsd:documentation>
2514
2515
            The role-link element is a reference to a defined
2516
            security role. The role-link element must contain
2517
            the name of one of the security roles defined in the
2518
            security-role elements.
2519
            
2520
          </xsd:documentation>
2521
        </xsd:annotation>
2522
      </xsd:element>
2523
    </xsd:sequence>
2524
    <xsd:attribute name="id"
2525
                   type="xsd:ID"/>
2526
  </xsd:complexType>
2527
2528
2529
<!-- **************************************************** -->
2530
2531
  <xsd:complexType name="xsdQNameType">
2532
    <xsd:annotation>
2533
      <xsd:documentation>
2534
2535
        This type adds an "id" attribute to xsd:QName.
2536
        
2537
      </xsd:documentation>
2538
    </xsd:annotation>
2539
    <xsd:simpleContent>
2540
      <xsd:extension base="xsd:QName">
2541
        <xsd:attribute name="id"
2542
                       type="xsd:ID"/>
2543
      </xsd:extension>
2544
    </xsd:simpleContent>
2545
  </xsd:complexType>
2546
2547
2548
<!-- **************************************************** -->
2549
2550
  <xsd:complexType name="xsdBooleanType">
2551
    <xsd:annotation>
2552
      <xsd:documentation>
2553
2554
        This type adds an "id" attribute to xsd:boolean.
2555
        
2556
      </xsd:documentation>
2557
    </xsd:annotation>
2558
    <xsd:simpleContent>
2559
      <xsd:extension base="xsd:boolean">
2560
        <xsd:attribute name="id"
2561
                       type="xsd:ID"/>
2562
      </xsd:extension>
2563
    </xsd:simpleContent>
2564
  </xsd:complexType>
2565
2566
2567
<!-- **************************************************** -->
2568
2569
  <xsd:complexType name="xsdNMTOKENType">
2570
    <xsd:annotation>
2571
      <xsd:documentation>
2572
2573
        This type adds an "id" attribute to xsd:NMTOKEN.
2574
        
2575
      </xsd:documentation>
2576
    </xsd:annotation>
2577
    <xsd:simpleContent>
2578
      <xsd:extension base="xsd:NMTOKEN">
2579
        <xsd:attribute name="id"
2580
                       type="xsd:ID"/>
2581
      </xsd:extension>
2582
    </xsd:simpleContent>
2583
  </xsd:complexType>
2584
2585
2586
<!-- **************************************************** -->
2587
2588
  <xsd:complexType name="xsdAnyURIType">
2589
    <xsd:annotation>
2590
      <xsd:documentation>
2591
2592
        This type adds an "id" attribute to xsd:anyURI.
2593
        
2594
      </xsd:documentation>
2595
    </xsd:annotation>
2596
    <xsd:simpleContent>
2597
      <xsd:extension base="xsd:anyURI">
2598
        <xsd:attribute name="id"
2599
                       type="xsd:ID"/>
2600
      </xsd:extension>
2601
    </xsd:simpleContent>
2602
  </xsd:complexType>
2603
2604
2605
<!-- **************************************************** -->
2606
2607
  <xsd:complexType name="xsdIntegerType">
2608
    <xsd:annotation>
2609
      <xsd:documentation>
2610
2611
        This type adds an "id" attribute to xsd:integer.
2612
        
2613
      </xsd:documentation>
2614
    </xsd:annotation>
2615
    <xsd:simpleContent>
2616
      <xsd:extension base="xsd:integer">
2617
        <xsd:attribute name="id"
2618
                       type="xsd:ID"/>
2619
      </xsd:extension>
2620
    </xsd:simpleContent>
2621
  </xsd:complexType>
2622
2623
2624
<!-- **************************************************** -->
2625
2626
  <xsd:complexType name="xsdPositiveIntegerType">
2627
    <xsd:annotation>
2628
      <xsd:documentation>
2629
2630
        This type adds an "id" attribute to xsd:positiveInteger.
2631
        
2632
      </xsd:documentation>
2633
    </xsd:annotation>
2634
    <xsd:simpleContent>
2635
      <xsd:extension base="xsd:positiveInteger">
2636
        <xsd:attribute name="id"
2637
                       type="xsd:ID"/>
2638
      </xsd:extension>
2639
    </xsd:simpleContent>
2640
  </xsd:complexType>
2641
2642
2643
<!-- **************************************************** -->
2644
2645
  <xsd:complexType name="xsdNonNegativeIntegerType">
2646
    <xsd:annotation>
2647
      <xsd:documentation>
2648
2649
        This type adds an "id" attribute to xsd:nonNegativeInteger.
2650
        
2651
      </xsd:documentation>
2652
    </xsd:annotation>
2653
    <xsd:simpleContent>
2654
      <xsd:extension base="xsd:nonNegativeInteger">
2655
        <xsd:attribute name="id"
2656
                       type="xsd:ID"/>
2657
      </xsd:extension>
2658
    </xsd:simpleContent>
2659
  </xsd:complexType>
2660
2661
2662
<!-- **************************************************** -->
2663
2664
  <xsd:complexType name="xsdStringType">
2665
    <xsd:annotation>
2666
      <xsd:documentation>
2667
2668
        This type adds an "id" attribute to xsd:string.
2669
        
2670
      </xsd:documentation>
2671
    </xsd:annotation>
2672
    <xsd:simpleContent>
2673
      <xsd:extension base="xsd:string">
2674
        <xsd:attribute name="id"
2675
                       type="xsd:ID"/>
2676
      </xsd:extension>
2677
    </xsd:simpleContent>
2678
  </xsd:complexType>
2679
2680
2681
<!-- **************************************************** -->
2682
2683
  <xsd:complexType name="string">
2684
    <xsd:annotation>
2685
      <xsd:documentation>
2686
2687
        This is a special string datatype that is defined by Java EE as
2688
        a base type for defining collapsed strings. When schemas
2689
        require trailing/leading space elimination as well as
2690
        collapsing the existing whitespace, this base type may be
2691
        used.
2692
        
2693
      </xsd:documentation>
2694
    </xsd:annotation>
2695
    <xsd:simpleContent>
2696
      <xsd:extension base="xsd:token">
2697
        <xsd:attribute name="id"
2698
                       type="xsd:ID"/>
2699
      </xsd:extension>
2700
    </xsd:simpleContent>
2701
  </xsd:complexType>
2702
2703
2704
<!-- **************************************************** -->
2705
2706
  <xsd:complexType name="true-falseType">
2707
    <xsd:annotation>
2708
      <xsd:documentation>
2709
2710
        This simple type designates a boolean with only two
2711
        permissible values
2712
        
2713
        - true
2714
        - false
2715
        
2716
      </xsd:documentation>
2717
    </xsd:annotation>
2718
    <xsd:simpleContent>
2719
      <xsd:restriction base="javaee:xsdBooleanType">
2720
        <xsd:pattern value="(true|false)"/>
2721
      </xsd:restriction>
2722
    </xsd:simpleContent>
2723
  </xsd:complexType>
2724
2725
2726
<!-- **************************************************** -->
2727
2728
  <xsd:complexType name="url-patternType">
2729
    <xsd:annotation>
2730
      <xsd:documentation>
2731
2732
        The url-patternType contains the url pattern of the mapping.
2733
        It must follow the rules specified in Section 11.2 of the
2734
        Servlet API Specification. This pattern is assumed to be in
2735
        URL-decoded form and must not contain CR(#xD) or LF(#xA).
2736
        If it contains those characters, the container must inform
2737
        the developer with a descriptive error message.
2738
        The container must preserve all characters including whitespaces.
2739
        
2740
      </xsd:documentation>
2741
    </xsd:annotation>
2742
    <xsd:simpleContent>
2743
      <xsd:extension base="xsd:string"/>
2744
    </xsd:simpleContent>
2745
  </xsd:complexType>
2746
2747
2748
<!-- **************************************************** -->
2749
2750
  <xsd:complexType name="message-destinationType">
2751
    <xsd:annotation>
2752
      <xsd:documentation>
2753
        <![CDATA[[
2754
        The message-destinationType specifies a message
2755
        destination. The logical destination described by this
2756
        element is mapped to a physical destination by the Deployer.
2757
        
2758
        The message destination element contains: 
2759
        
2760
        - an optional description
2761
        - an optional display-name
2762
        - an optional icon
2763
        - a message destination name which must be unique
2764
        among message destination names within the same 
2765
        Deployment File. 
2766
        - an optional mapped name
2767
        - an optional lookup name
2768
        
2769
        Example: 
2770
        
2771
        <message-destination>
2772
        <message-destination-name>CorporateStocks
2773
        </message-destination-name>
2774
        </message-destination>
2775
        
2776
        ]]>
2777
      </xsd:documentation>
2778
    </xsd:annotation>
2779
    <xsd:sequence>
2780
      <xsd:group ref="javaee:descriptionGroup"/>
2781
      <xsd:element name="message-destination-name"
2782
                   type="javaee:string">
2783
        <xsd:annotation>
2784
          <xsd:documentation>
2785
2786
            The message-destination-name element specifies a
2787
            name for a message destination.  This name must be
2788
            unique among the names of message destinations
2789
            within the Deployment File.
2790
            
2791
          </xsd:documentation>
2792
        </xsd:annotation>
2793
      </xsd:element>
2794
      <xsd:element name="mapped-name"
2795
                   type="javaee:xsdStringType"
2796
                   minOccurs="0">
2797
        <xsd:annotation>
2798
          <xsd:documentation>
2799
2800
            A product specific name that this message destination
2801
            should be mapped to.  Each message-destination-ref
2802
            element that references this message destination will
2803
            define a name in the namespace of the referencing
2804
            component or in one of the other predefined namespaces. 
2805
            Many application servers provide a way to map these
2806
            local names to names of resources known to the
2807
            application server.  This mapped name is often a global
2808
            JNDI name, but may be a name of any form.  Each of the
2809
            local names should be mapped to this same global name.
2810
            
2811
            Application servers are not required to support any
2812
            particular form or type of mapped name, nor the ability
2813
            to use mapped names.  The mapped name is
2814
            product-dependent and often installation-dependent.  No
2815
            use of a mapped name is portable.
2816
            
2817
          </xsd:documentation>
2818
        </xsd:annotation>
2819
      </xsd:element>
2820
      <xsd:element name="lookup-name"
2821
                   type="javaee:xsdStringType"
2822
                   minOccurs="0">
2823
        <xsd:annotation>
2824
          <xsd:documentation>
2825
2826
            The JNDI name to be looked up to resolve the message destination.
2827
            
2828
          </xsd:documentation>
2829
        </xsd:annotation>
2830
      </xsd:element>
2831
    </xsd:sequence>
2832
    <xsd:attribute name="id"
2833
                   type="xsd:ID"/>
2834
  </xsd:complexType>
2835
2836
2837
<!-- **************************************************** -->
2838
2839
  <xsd:complexType name="message-destination-refType">
2840
    <xsd:annotation>
2841
      <xsd:documentation>
2842
        <![CDATA[[
2843
        The message-destination-ref element contains a declaration
2844
        of Deployment Component's reference to a message destination
2845
        associated with a resource in Deployment Component's
2846
        environment. It consists of:
2847
        
2848
        - an optional description
2849
        - the message destination reference name
2850
        - an optional message destination type
2851
        - an optional specification as to whether
2852
        the destination is used for 
2853
        consuming or producing messages, or both.
2854
        if not specified, "both" is assumed.
2855
        - an optional link to the message destination
2856
        - optional injection targets
2857
        
2858
        The message destination type must be supplied unless an
2859
        injection target is specified, in which case the type
2860
        of the target is used.  If both are specified, the type
2861
        must be assignment compatible with the type of the injection
2862
        target.
2863
        
2864
        Examples:
2865
        
2866
        <message-destination-ref>
2867
        <message-destination-ref-name>jms/StockQueue
2868
        </message-destination-ref-name>
2869
        <message-destination-type>javax.jms.Queue
2870
        </message-destination-type>
2871
        <message-destination-usage>Consumes
2872
        </message-destination-usage>
2873
        <message-destination-link>CorporateStocks
2874
        </message-destination-link>
2875
        </message-destination-ref>
2876
        
2877
        ]]>
2878
      </xsd:documentation>
2879
    </xsd:annotation>
2880
    <xsd:sequence>
2881
      <xsd:element name="description"
2882
                   type="javaee:descriptionType"
2883
                   minOccurs="0"
2884
                   maxOccurs="unbounded"/>
2885
      <xsd:element name="message-destination-ref-name"
2886
                   type="javaee:jndi-nameType">
2887
        <xsd:annotation>
2888
          <xsd:documentation>
2889
2890
            The message-destination-ref-name element specifies
2891
            the name of a message destination reference; its
2892
            value is the environment entry name used in
2893
            Deployment Component code.
2894
            
2895
          </xsd:documentation>
2896
        </xsd:annotation>
2897
      </xsd:element>
2898
      <xsd:element name="message-destination-type"
2899
                   type="javaee:message-destination-typeType"
2900
                   minOccurs="0"/>
2901
      <xsd:element name="message-destination-usage"
2902
                   type="javaee:message-destination-usageType"
2903
                   minOccurs="0"/>
2904
      <xsd:element name="message-destination-link"
2905
                   type="javaee:message-destination-linkType"
2906
                   minOccurs="0"/>
2907
      <xsd:group ref="javaee:resourceGroup"/>
2908
    </xsd:sequence>
2909
    <xsd:attribute name="id"
2910
                   type="xsd:ID"/>
2911
  </xsd:complexType>
2912
2913
2914
<!-- **************************************************** -->
2915
2916
  <xsd:complexType name="message-destination-usageType">
2917
    <xsd:annotation>
2918
      <xsd:documentation>
2919
2920
        The message-destination-usageType specifies the use of the
2921
        message destination indicated by the reference.  The value
2922
        indicates whether messages are consumed from the message
2923
        destination, produced for the destination, or both.  The
2924
        Assembler makes use of this information in linking producers
2925
        of a destination with its consumers.
2926
        
2927
        The value of the message-destination-usage element must be
2928
        one of the following:
2929
        Consumes
2930
        Produces
2931
        ConsumesProduces
2932
        
2933
      </xsd:documentation>
2934
    </xsd:annotation>
2935
    <xsd:simpleContent>
2936
      <xsd:restriction base="javaee:string">
2937
        <xsd:enumeration value="Consumes"/>
2938
        <xsd:enumeration value="Produces"/>
2939
        <xsd:enumeration value="ConsumesProduces"/>
2940
      </xsd:restriction>
2941
    </xsd:simpleContent>
2942
  </xsd:complexType>
2943
2944
2945
<!-- **************************************************** -->
2946
2947
  <xsd:complexType name="message-destination-typeType">
2948
    <xsd:annotation>
2949
      <xsd:documentation>
2950
        <![CDATA[[
2951
        The message-destination-typeType specifies the type of
2952
        the destination. The type is specified by the Java interface
2953
        expected to be implemented by the destination.
2954
        
2955
        Example: 
2956
        
2957
        <message-destination-type>javax.jms.Queue
2958
        </message-destination-type>
2959
        
2960
        ]]>
2961
      </xsd:documentation>
2962
    </xsd:annotation>
2963
    <xsd:simpleContent>
2964
      <xsd:restriction base="javaee:fully-qualified-classType"/>
2965
    </xsd:simpleContent>
2966
  </xsd:complexType>
2967
2968
2969
<!-- **************************************************** -->
2970
2971
  <xsd:complexType name="message-destination-linkType">
2972
    <xsd:annotation>
2973
      <xsd:documentation>
2974
2975
        The message-destination-linkType is used to link a message
2976
        destination reference or message-driven bean to a message
2977
        destination.
2978
        
2979
        The Assembler sets the value to reflect the flow of messages
2980
        between producers and consumers in the application.
2981
        
2982
        The value must be the message-destination-name of a message
2983
        destination in the same Deployment File or in another
2984
        Deployment File in the same Java EE application unit.
2985
        
2986
        Alternatively, the value may be composed of a path name
2987
        specifying a Deployment File containing the referenced
2988
        message destination with the message-destination-name of the
2989
        destination appended and separated from the path name by
2990
        "#". The path name is relative to the Deployment File
2991
        containing Deployment Component that is referencing the
2992
        message destination.  This allows multiple message
2993
        destinations with the same name to be uniquely identified.
2994
        
2995
      </xsd:documentation>
2996
    </xsd:annotation>
2997
    <xsd:simpleContent>
2998
      <xsd:restriction base="javaee:string"/>
2999
    </xsd:simpleContent>
3000
  </xsd:complexType>
3001
3002
</xsd:schema>
(-)a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/jsp_2_3.xsd (+389 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
3
            targetNamespace="http://java.sun.com/xml/ns/javaee"
4
            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
5
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
            elementFormDefault="qualified"
7
            attributeFormDefault="unqualified"
8
            version="2.3">
9
  <xsd:annotation>
10
    <xsd:documentation>
11
12
      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
      
14
      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
15
      
16
      The contents of this file are subject to the terms of either the GNU
17
      General Public License Version 2 only ("GPL") or the Common Development
18
      and Distribution License("CDDL") (collectively, the "License").  You
19
      may not use this file except in compliance with the License.  You can
20
      obtain a copy of the License at
21
      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
22
      or packager/legal/LICENSE.txt.  See the License for the specific
23
      language governing permissions and limitations under the License.
24
      
25
      When distributing the software, include this License Header Notice in each
26
      file and include the License file at packager/legal/LICENSE.txt.
27
      
28
      GPL Classpath Exception:
29
      Oracle designates this particular file as subject to the "Classpath"
30
      exception as provided by Oracle in the GPL Version 2 section of the License
31
      file that accompanied this code.
32
      
33
      Modifications:
34
      If applicable, add the following below the License Header, with the fields
35
      enclosed by brackets [] replaced by your own identifying information:
36
      "Portions Copyright [year] [name of copyright owner]"
37
      
38
      Contributor(s):
39
      If you wish your version of this file to be governed by only the CDDL or
40
      only the GPL Version 2, indicate your decision by adding "[Contributor]
41
      elects to include this software in this distribution under the [CDDL or GPL
42
      Version 2] license."  If you don't indicate a single choice of license, a
43
      recipient has the option to distribute your version of this file under
44
      either the CDDL, the GPL Version 2 or to extend the choice of license to
45
      its licensees as provided above.  However, if you add GPL Version 2 code
46
      and therefore, elected the GPL Version 2 license, then the option applies
47
      only if the new code is made subject to such option by the copyright
48
      holder.
49
      
50
    </xsd:documentation>
51
  </xsd:annotation>
52
53
  <xsd:annotation>
54
    <xsd:documentation>
55
56
      This is the XML Schema for the JSP 2.3 deployment descriptor
57
      types.  The JSP 2.3 schema contains all the special
58
      structures and datatypes that are necessary to use JSP files
59
      from a web application. 
60
      
61
      The contents of this schema is used by the web-common_3_1.xsd 
62
      file to define JSP specific content. 
63
      
64
    </xsd:documentation>
65
  </xsd:annotation>
66
67
  <xsd:annotation>
68
    <xsd:documentation>
69
70
      The following conventions apply to all Java EE
71
      deployment descriptor elements unless indicated otherwise.
72
      
73
      - In elements that specify a pathname to a file within the
74
      same JAR file, relative filenames (i.e., those not
75
      starting with "/") are considered relative to the root of
76
      the JAR file's namespace.  Absolute filenames (i.e., those
77
      starting with "/") also specify names in the root of the
78
      JAR file's namespace.  In general, relative names are
79
      preferred.  The exception is .war files where absolute
80
      names are preferred for consistency with the Servlet API.
81
      
82
    </xsd:documentation>
83
  </xsd:annotation>
84
85
  <xsd:include schemaLocation="javaee_7.xsd"/>
86
87
88
<!-- **************************************************** -->
89
90
  <xsd:complexType name="jsp-configType">
91
    <xsd:annotation>
92
      <xsd:documentation>
93
94
        The jsp-configType is used to provide global configuration
95
        information for the JSP files in a web application. It has
96
        two subelements, taglib and jsp-property-group.
97
        
98
      </xsd:documentation>
99
    </xsd:annotation>
100
    <xsd:sequence>
101
      <xsd:element name="taglib"
102
                   type="javaee:taglibType"
103
                   minOccurs="0"
104
                   maxOccurs="unbounded"/>
105
      <xsd:element name="jsp-property-group"
106
                   type="javaee:jsp-property-groupType"
107
                   minOccurs="0"
108
                   maxOccurs="unbounded"/>
109
    </xsd:sequence>
110
    <xsd:attribute name="id"
111
                   type="xsd:ID"/>
112
  </xsd:complexType>
113
114
115
<!-- **************************************************** -->
116
117
  <xsd:complexType name="jsp-fileType">
118
    <xsd:annotation>
119
      <xsd:documentation>
120
121
        The jsp-file element contains the full path to a JSP file
122
        within the web application beginning with a `/'.
123
        
124
      </xsd:documentation>
125
    </xsd:annotation>
126
    <xsd:simpleContent>
127
      <xsd:restriction base="javaee:pathType"/>
128
    </xsd:simpleContent>
129
  </xsd:complexType>
130
131
132
<!-- **************************************************** -->
133
134
  <xsd:complexType name="jsp-property-groupType">
135
    <xsd:annotation>
136
      <xsd:documentation>
137
138
        The jsp-property-groupType is used to group a number of
139
        files so they can be given global property information.
140
        All files so described are deemed to be JSP files.  The
141
        following additional properties can be described:
142
        
143
        - Control whether EL is ignored.
144
        - Control whether scripting elements are invalid.
145
        - Indicate pageEncoding information.
146
        - Indicate that a resource is a JSP document (XML).
147
        - Prelude and Coda automatic includes.
148
        - Control whether the character sequence #{ is allowed
149
        when used as a String literal.
150
        - Control whether template text containing only
151
        whitespaces must be removed from the response output.
152
        - Indicate the default contentType information.
153
        - Indicate the default buffering model for JspWriter
154
        - Control whether error should be raised for the use of
155
        undeclared namespaces in a JSP page.
156
        
157
      </xsd:documentation>
158
    </xsd:annotation>
159
    <xsd:sequence>
160
      <xsd:group ref="javaee:descriptionGroup"/>
161
      <xsd:element name="url-pattern"
162
                   type="javaee:url-patternType"
163
                   maxOccurs="unbounded"/>
164
      <xsd:element name="el-ignored"
165
                   type="javaee:true-falseType"
166
                   minOccurs="0">
167
        <xsd:annotation>
168
          <xsd:documentation>
169
170
            Can be used to easily set the isELIgnored
171
            property of a group of JSP pages.  By default, the
172
            EL evaluation is enabled for Web Applications using
173
            a Servlet 2.4 or greater web.xml, and disabled
174
            otherwise.
175
            
176
          </xsd:documentation>
177
        </xsd:annotation>
178
      </xsd:element>
179
      <xsd:element name="page-encoding"
180
                   type="javaee:string"
181
                   minOccurs="0">
182
        <xsd:annotation>
183
          <xsd:documentation>
184
185
            The valid values of page-encoding are those of the
186
            pageEncoding page directive.  It is a
187
            translation-time error to name different encodings
188
            in the pageEncoding attribute of the page directive
189
            of a JSP page and in a JSP configuration element
190
            matching the page.  It is also a translation-time
191
            error to name different encodings in the prolog
192
            or text declaration of a document in XML syntax and
193
            in a JSP configuration element matching the document.
194
            It is legal to name the same encoding through
195
            mulitple mechanisms.
196
            
197
          </xsd:documentation>
198
        </xsd:annotation>
199
      </xsd:element>
200
      <xsd:element name="scripting-invalid"
201
                   type="javaee:true-falseType"
202
                   minOccurs="0">
203
        <xsd:annotation>
204
          <xsd:documentation>
205
206
            Can be used to easily disable scripting in a
207
            group of JSP pages.  By default, scripting is
208
            enabled.
209
            
210
          </xsd:documentation>
211
        </xsd:annotation>
212
      </xsd:element>
213
      <xsd:element name="is-xml"
214
                   type="javaee:true-falseType"
215
                   minOccurs="0">
216
        <xsd:annotation>
217
          <xsd:documentation>
218
219
            If true, denotes that the group of resources
220
            that match the URL pattern are JSP documents,
221
            and thus must be interpreted as XML documents.
222
            If false, the resources are assumed to not
223
            be JSP documents, unless there is another
224
            property group that indicates otherwise.
225
            
226
          </xsd:documentation>
227
        </xsd:annotation>
228
      </xsd:element>
229
      <xsd:element name="include-prelude"
230
                   type="javaee:pathType"
231
                   minOccurs="0"
232
                   maxOccurs="unbounded">
233
        <xsd:annotation>
234
          <xsd:documentation>
235
236
            The include-prelude element is a context-relative
237
            path that must correspond to an element in the
238
            Web Application.  When the element is present,
239
            the given path will be automatically included (as
240
            in an include directive) at the beginning of each
241
            JSP page in this jsp-property-group.
242
            
243
          </xsd:documentation>
244
        </xsd:annotation>
245
      </xsd:element>
246
      <xsd:element name="include-coda"
247
                   type="javaee:pathType"
248
                   minOccurs="0"
249
                   maxOccurs="unbounded">
250
        <xsd:annotation>
251
          <xsd:documentation>
252
253
            The include-coda element is a context-relative
254
            path that must correspond to an element in the
255
            Web Application.  When the element is present,
256
            the given path will be automatically included (as
257
            in an include directive) at the end of each
258
            JSP page in this jsp-property-group.
259
            
260
          </xsd:documentation>
261
        </xsd:annotation>
262
      </xsd:element>
263
      <xsd:element name="deferred-syntax-allowed-as-literal"
264
                   type="javaee:true-falseType"
265
                   minOccurs="0">
266
        <xsd:annotation>
267
          <xsd:documentation>
268
269
            The character sequence #{ is reserved for EL expressions.
270
            Consequently, a translation error occurs if the #{
271
            character sequence is used as a String literal, unless
272
            this element is enabled (true). Disabled (false) by
273
            default.
274
            
275
          </xsd:documentation>
276
        </xsd:annotation>
277
      </xsd:element>
278
      <xsd:element name="trim-directive-whitespaces"
279
                   type="javaee:true-falseType"
280
                   minOccurs="0">
281
        <xsd:annotation>
282
          <xsd:documentation>
283
284
            Indicates that template text containing only whitespaces
285
            must be removed from the response output. It has no
286
            effect on JSP documents (XML syntax). Disabled (false)
287
            by default.
288
            
289
          </xsd:documentation>
290
        </xsd:annotation>
291
      </xsd:element>
292
      <xsd:element name="default-content-type"
293
                   type="javaee:string"
294
                   minOccurs="0">
295
        <xsd:annotation>
296
          <xsd:documentation>
297
298
            The valid values of default-content-type are those of the
299
            contentType page directive.  It specifies the default
300
            response contentType if the page directive does not include
301
            a contentType attribute.
302
            
303
          </xsd:documentation>
304
        </xsd:annotation>
305
      </xsd:element>
306
      <xsd:element name="buffer"
307
                   type="javaee:string"
308
                   minOccurs="0">
309
        <xsd:annotation>
310
          <xsd:documentation>
311
312
            The valid values of buffer are those of the
313
            buffer page directive.  It specifies if buffering should be
314
            used for the output to response, and if so, the size of the
315
            buffer to use.
316
            
317
          </xsd:documentation>
318
        </xsd:annotation>
319
      </xsd:element>
320
      <xsd:element name="error-on-undeclared-namespace"
321
                   type="javaee:true-falseType"
322
                   minOccurs="0">
323
        <xsd:annotation>
324
          <xsd:documentation>
325
326
            The default behavior when a tag with unknown namespace is used
327
            in a JSP page (regular syntax) is to silently ignore it.  If
328
            set to true, then an error must be raised during the translation
329
            time when an undeclared tag is used in a JSP page.  Disabled
330
            (false) by default.
331
            
332
          </xsd:documentation>
333
        </xsd:annotation>
334
      </xsd:element>
335
    </xsd:sequence>
336
    <xsd:attribute name="id"
337
                   type="xsd:ID"/>
338
  </xsd:complexType>
339
340
341
<!-- **************************************************** -->
342
343
  <xsd:complexType name="taglibType">
344
    <xsd:annotation>
345
      <xsd:documentation>
346
347
        The taglibType defines the syntax for declaring in
348
        the deployment descriptor that a tag library is
349
        available to the application.  This can be done
350
        to override implicit map entries from TLD files and
351
        from the container.
352
        
353
      </xsd:documentation>
354
    </xsd:annotation>
355
    <xsd:sequence>
356
      <xsd:element name="taglib-uri"
357
                   type="javaee:string">
358
        <xsd:annotation>
359
          <xsd:documentation>
360
361
            A taglib-uri element describes a URI identifying a
362
            tag library used in the web application.  The body
363
            of the taglib-uri element may be either an
364
            absolute URI specification, or a relative URI.
365
            There should be no entries in web.xml with the
366
            same taglib-uri value.
367
            
368
          </xsd:documentation>
369
        </xsd:annotation>
370
      </xsd:element>
371
      <xsd:element name="taglib-location"
372
                   type="javaee:pathType">
373
        <xsd:annotation>
374
          <xsd:documentation>
375
376
            the taglib-location element contains the location
377
            (as a resource relative to the root of the web
378
            application) where to find the Tag Library
379
            Description file for the tag library.
380
            
381
          </xsd:documentation>
382
        </xsd:annotation>
383
      </xsd:element>
384
    </xsd:sequence>
385
    <xsd:attribute name="id"
386
                   type="xsd:ID"/>
387
  </xsd:complexType>
388
389
</xsd:schema>
(-)a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/web-app_3_1.xsd (+272 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
3
            targetNamespace="http://java.sun.com/xml/ns/javaee"
4
            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
5
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
            elementFormDefault="qualified"
7
            attributeFormDefault="unqualified"
8
            version="3.1">
9
  <xsd:annotation>
10
    <xsd:documentation>
11
12
      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
      
14
      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
15
      
16
      The contents of this file are subject to the terms of either the GNU
17
      General Public License Version 2 only ("GPL") or the Common Development
18
      and Distribution License("CDDL") (collectively, the "License").  You
19
      may not use this file except in compliance with the License.  You can
20
      obtain a copy of the License at
21
      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
22
      or packager/legal/LICENSE.txt.  See the License for the specific
23
      language governing permissions and limitations under the License.
24
      
25
      When distributing the software, include this License Header Notice in each
26
      file and include the License file at packager/legal/LICENSE.txt.
27
      
28
      GPL Classpath Exception:
29
      Oracle designates this particular file as subject to the "Classpath"
30
      exception as provided by Oracle in the GPL Version 2 section of the License
31
      file that accompanied this code.
32
      
33
      Modifications:
34
      If applicable, add the following below the License Header, with the fields
35
      enclosed by brackets [] replaced by your own identifying information:
36
      "Portions Copyright [year] [name of copyright owner]"
37
      
38
      Contributor(s):
39
      If you wish your version of this file to be governed by only the CDDL or
40
      only the GPL Version 2, indicate your decision by adding "[Contributor]
41
      elects to include this software in this distribution under the [CDDL or GPL
42
      Version 2] license."  If you don't indicate a single choice of license, a
43
      recipient has the option to distribute your version of this file under
44
      either the CDDL, the GPL Version 2 or to extend the choice of license to
45
      its licensees as provided above.  However, if you add GPL Version 2 code
46
      and therefore, elected the GPL Version 2 license, then the option applies
47
      only if the new code is made subject to such option by the copyright
48
      holder.
49
      
50
    </xsd:documentation>
51
  </xsd:annotation>
52
53
  <xsd:annotation>
54
    <xsd:documentation>
55
      <![CDATA[[
56
      This is the XML Schema for the Servlet 3.1 deployment descriptor.
57
      The deployment descriptor must be named "WEB-INF/web.xml" in the
58
      web application's war file.  All Servlet deployment descriptors
59
      must indicate the web application schema by using the Java EE
60
      namespace:
61
      
62
      http://java.sun.com/xml/ns/javaee 
63
      
64
      and by indicating the version of the schema by 
65
      using the version element as shown below: 
66
      
67
      <web-app xmlns="http://java.sun.com/xml/ns/javaee"
68
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
69
      xsi:schemaLocation="..."
70
      version="3.1"> 
71
      ...
72
      </web-app>
73
      
74
      The instance documents may indicate the published version of
75
      the schema using the xsi:schemaLocation attribute for Java EE
76
      namespace with the following location:
77
      
78
      http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd
79
      
80
      ]]>
81
    </xsd:documentation>
82
  </xsd:annotation>
83
84
  <xsd:annotation>
85
    <xsd:documentation>
86
87
      The following conventions apply to all Java EE
88
      deployment descriptor elements unless indicated otherwise.
89
      
90
      - In elements that specify a pathname to a file within the
91
      same JAR file, relative filenames (i.e., those not
92
      starting with "/") are considered relative to the root of
93
      the JAR file's namespace.  Absolute filenames (i.e., those
94
      starting with "/") also specify names in the root of the
95
      JAR file's namespace.  In general, relative names are
96
      preferred.  The exception is .war files where absolute
97
      names are preferred for consistency with the Servlet API.
98
      
99
    </xsd:documentation>
100
  </xsd:annotation>
101
102
  <xsd:include schemaLocation="web-common_3_1.xsd"/>
103
104
105
<!-- **************************************************** -->
106
107
  <xsd:element name="web-app"
108
               type="javaee:web-appType">
109
    <xsd:annotation>
110
      <xsd:documentation>
111
112
        The web-app element is the root of the deployment
113
        descriptor for a web application.  Note that the sub-elements
114
        of this element can be in the arbitrary order. Because of
115
        that, the multiplicity of the elements of distributable,
116
        session-config, welcome-file-list, jsp-config, login-config,
117
        and locale-encoding-mapping-list was changed from "?" to "*"
118
        in this schema.  However, the deployment descriptor instance
119
        file must not contain multiple elements of session-config,
120
        jsp-config, and login-config. When there are multiple elements of
121
        welcome-file-list or locale-encoding-mapping-list, the container
122
        must concatenate the element contents.  The multiple occurence
123
        of the element distributable is redundant and the container
124
        treats that case exactly in the same way when there is only
125
        one distributable. 
126
        
127
      </xsd:documentation>
128
    </xsd:annotation>
129
    <xsd:unique name="web-common-servlet-name-uniqueness">
130
      <xsd:annotation>
131
        <xsd:documentation>
132
133
          The servlet element contains the name of a servlet.
134
          The name must be unique within the web application.
135
          
136
        </xsd:documentation>
137
      </xsd:annotation>
138
      <xsd:selector xpath="javaee:servlet"/>
139
      <xsd:field xpath="javaee:servlet-name"/>
140
    </xsd:unique>
141
    <xsd:unique name="web-common-filter-name-uniqueness">
142
      <xsd:annotation>
143
        <xsd:documentation>
144
145
          The filter element contains the name of a filter.
146
          The name must be unique within the web application.
147
          
148
        </xsd:documentation>
149
      </xsd:annotation>
150
      <xsd:selector xpath="javaee:filter"/>
151
      <xsd:field xpath="javaee:filter-name"/>
152
    </xsd:unique>
153
    <xsd:unique name="web-common-ejb-local-ref-name-uniqueness">
154
      <xsd:annotation>
155
        <xsd:documentation>
156
157
          The ejb-local-ref-name element contains the name of an EJB
158
          reference. The EJB reference is an entry in the web
159
          application's environment and is relative to the
160
          java:comp/env context.  The name must be unique within
161
          the web application.
162
          
163
          It is recommended that name is prefixed with "ejb/".
164
          
165
        </xsd:documentation>
166
      </xsd:annotation>
167
      <xsd:selector xpath="javaee:ejb-local-ref"/>
168
      <xsd:field xpath="javaee:ejb-ref-name"/>
169
    </xsd:unique>
170
    <xsd:unique name="web-common-ejb-ref-name-uniqueness">
171
      <xsd:annotation>
172
        <xsd:documentation>
173
174
          The ejb-ref-name element contains the name of an EJB
175
          reference. The EJB reference is an entry in the web
176
          application's environment and is relative to the
177
          java:comp/env context.  The name must be unique within
178
          the web application.
179
          
180
          It is recommended that name is prefixed with "ejb/".
181
          
182
        </xsd:documentation>
183
      </xsd:annotation>
184
      <xsd:selector xpath="javaee:ejb-ref"/>
185
      <xsd:field xpath="javaee:ejb-ref-name"/>
186
    </xsd:unique>
187
    <xsd:unique name="web-common-resource-env-ref-uniqueness">
188
      <xsd:annotation>
189
        <xsd:documentation>
190
191
          The resource-env-ref-name element specifies the name of
192
          a resource environment reference; its value is the
193
          environment entry name used in the web application code.
194
          The name is a JNDI name relative to the java:comp/env
195
          context and must be unique within a web application.
196
          
197
        </xsd:documentation>
198
      </xsd:annotation>
199
      <xsd:selector xpath="javaee:resource-env-ref"/>
200
      <xsd:field xpath="javaee:resource-env-ref-name"/>
201
    </xsd:unique>
202
    <xsd:unique name="web-common-message-destination-ref-uniqueness">
203
      <xsd:annotation>
204
        <xsd:documentation>
205
206
          The message-destination-ref-name element specifies the name of
207
          a message destination reference; its value is the
208
          environment entry name used in the web application code.
209
          The name is a JNDI name relative to the java:comp/env
210
          context and must be unique within a web application.
211
          
212
        </xsd:documentation>
213
      </xsd:annotation>
214
      <xsd:selector xpath="javaee:message-destination-ref"/>
215
      <xsd:field xpath="javaee:message-destination-ref-name"/>
216
    </xsd:unique>
217
    <xsd:unique name="web-common-res-ref-name-uniqueness">
218
      <xsd:annotation>
219
        <xsd:documentation>
220
221
          The res-ref-name element specifies the name of a
222
          resource manager connection factory reference.  The name
223
          is a JNDI name relative to the java:comp/env context.
224
          The name must be unique within a web application.
225
          
226
        </xsd:documentation>
227
      </xsd:annotation>
228
      <xsd:selector xpath="javaee:resource-ref"/>
229
      <xsd:field xpath="javaee:res-ref-name"/>
230
    </xsd:unique>
231
    <xsd:unique name="web-common-env-entry-name-uniqueness">
232
      <xsd:annotation>
233
        <xsd:documentation>
234
235
          The env-entry-name element contains the name of a web
236
          application's environment entry.  The name is a JNDI
237
          name relative to the java:comp/env context.  The name
238
          must be unique within a web application.
239
          
240
        </xsd:documentation>
241
      </xsd:annotation>
242
      <xsd:selector xpath="javaee:env-entry"/>
243
      <xsd:field xpath="javaee:env-entry-name"/>
244
    </xsd:unique>
245
    <xsd:key name="web-common-role-name-key">
246
      <xsd:annotation>
247
        <xsd:documentation>
248
249
          A role-name-key is specified to allow the references
250
          from the security-role-refs.
251
          
252
        </xsd:documentation>
253
      </xsd:annotation>
254
      <xsd:selector xpath="javaee:security-role"/>
255
      <xsd:field xpath="javaee:role-name"/>
256
    </xsd:key>
257
    <xsd:keyref name="web-common-role-name-references"
258
                refer="javaee:web-common-role-name-key">
259
      <xsd:annotation>
260
        <xsd:documentation>
261
262
          The keyref indicates the references from
263
          security-role-ref to a specified role-name.
264
          
265
        </xsd:documentation>
266
      </xsd:annotation>
267
      <xsd:selector xpath="javaee:servlet/javaee:security-role-ref"/>
268
      <xsd:field xpath="javaee:role-link"/>
269
    </xsd:keyref>
270
  </xsd:element>
271
272
</xsd:schema>
(-)a/bundles/org.eclipse.jst.standard.schemas/dtdsAndSchemas/web-common_3_1.xsd (+1579 lines)
Added Link Here
1
<?xml version="1.0" encoding="UTF-8"?>
2
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
3
            targetNamespace="http://java.sun.com/xml/ns/javaee"
4
            xmlns:javaee="http://java.sun.com/xml/ns/javaee"
5
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
6
            elementFormDefault="qualified"
7
            attributeFormDefault="unqualified"
8
            version="3.1">
9
  <xsd:annotation>
10
    <xsd:documentation>
11
12
      DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
13
      
14
      Copyright (c) 2009-2013 Oracle and/or its affiliates. All rights reserved.
15
      
16
      The contents of this file are subject to the terms of either the GNU
17
      General Public License Version 2 only ("GPL") or the Common Development
18
      and Distribution License("CDDL") (collectively, the "License").  You
19
      may not use this file except in compliance with the License.  You can
20
      obtain a copy of the License at
21
      https://glassfish.dev.java.net/public/CDDL+GPL_1_1.html
22
      or packager/legal/LICENSE.txt.  See the License for the specific
23
      language governing permissions and limitations under the License.
24
      
25
      When distributing the software, include this License Header Notice in each
26
      file and include the License file at packager/legal/LICENSE.txt.
27
      
28
      GPL Classpath Exception:
29
      Oracle designates this particular file as subject to the "Classpath"
30
      exception as provided by Oracle in the GPL Version 2 section of the License
31
      file that accompanied this code.
32
      
33
      Modifications:
34
      If applicable, add the following below the License Header, with the fields
35
      enclosed by brackets [] replaced by your own identifying information:
36
      "Portions Copyright [year] [name of copyright owner]"
37
      
38
      Contributor(s):
39
      If you wish your version of this file to be governed by only the CDDL or
40
      only the GPL Version 2, indicate your decision by adding "[Contributor]
41
      elects to include this software in this distribution under the [CDDL or GPL
42
      Version 2] license."  If you don't indicate a single choice of license, a
43
      recipient has the option to distribute your version of this file under
44
      either the CDDL, the GPL Version 2 or to extend the choice of license to
45
      its licensees as provided above.  However, if you add GPL Version 2 code
46
      and therefore, elected the GPL Version 2 license, then the option applies
47
      only if the new code is made subject to such option by the copyright
48
      holder.
49
      
50
    </xsd:documentation>
51
  </xsd:annotation>
52
53
  <xsd:annotation>
54
    <xsd:documentation>
55
      <![CDATA[[
56
      This is the common XML Schema for the Servlet 3.1 deployment descriptor.
57
      This file is in turn used by web.xml and web-fragment.xml
58
      web application's war file.  All Servlet deployment descriptors
59
      must indicate the web common schema by using the Java EE
60
      namespace:
61
      
62
      http://java.sun.com/xml/ns/javaee 
63
      
64
      and by indicating the version of the schema by 
65
      using the version element as shown below: 
66
      
67
      <web-app xmlns="http://java.sun.com/xml/ns/javaee"
68
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
69
      xsi:schemaLocation="..."
70
      version="3.1"> 
71
      ...
72
      </web-app>
73
      
74
      The instance documents may indicate the published version of
75
      the schema using the xsi:schemaLocation attribute for Java EE
76
      namespace with the following location:
77
      
78
      http://java.sun.com/xml/ns/javaee/web-common_3_1.xsd
79
      
80
      ]]>
81
    </xsd:documentation>
82
  </xsd:annotation>
83
84
  <xsd:annotation>
85
    <xsd:documentation>
86
87
      The following conventions apply to all Java EE
88
      deployment descriptor elements unless indicated otherwise.
89
      
90
      - In elements that specify a pathname to a file within the
91
      same JAR file, relative filenames (i.e., those not
92
      starting with "/") are considered relative to the root of
93
      the JAR file's namespace.  Absolute filenames (i.e., those
94
      starting with "/") also specify names in the root of the
95
      JAR file's namespace.  In general, relative names are
96
      preferred.  The exception is .war files where absolute
97
      names are preferred for consistency with the Servlet API.
98
      
99
    </xsd:documentation>
100
  </xsd:annotation>
101
102
  <xsd:include schemaLocation="javaee_7.xsd"/>
103
104
  <xsd:include schemaLocation="jsp_2_3.xsd"/>
105
106
  <xsd:group name="web-commonType">
107
    <xsd:choice>
108
      <xsd:group ref="javaee:descriptionGroup"/>
109
      <xsd:element name="distributable"
110
                   type="javaee:emptyType"/>
111
      <xsd:element name="context-param"
112
                   type="javaee:param-valueType">
113
        <xsd:annotation>
114
          <xsd:documentation>
115
116
            The context-param element contains the declaration
117
            of a web application's servlet context
118
            initialization parameters.
119
            
120
          </xsd:documentation>
121
        </xsd:annotation>
122
      </xsd:element>
123
      <xsd:element name="filter"
124
                   type="javaee:filterType"/>
125
      <xsd:element name="filter-mapping"
126
                   type="javaee:filter-mappingType"/>
127
      <xsd:element name="listener"
128
                   type="javaee:listenerType"/>
129
      <xsd:element name="servlet"
130
                   type="javaee:servletType"/>
131
      <xsd:element name="servlet-mapping"
132
                   type="javaee:servlet-mappingType"/>
133
      <xsd:element name="session-config"
134
                   type="javaee:session-configType"/>
135
      <xsd:element name="mime-mapping"
136
                   type="javaee:mime-mappingType"/>
137
      <xsd:element name="welcome-file-list"
138
                   type="javaee:welcome-file-listType"/>
139
      <xsd:element name="error-page"
140
                   type="javaee:error-pageType"/>
141
      <xsd:element name="jsp-config"
142
                   type="javaee:jsp-configType"/>
143
      <xsd:element name="security-constraint"
144
                   type="javaee:security-constraintType"/>
145
      <xsd:element name="login-config"
146
                   type="javaee:login-configType"/>
147
      <xsd:element name="security-role"
148
                   type="javaee:security-roleType"/>
149
      <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
150
      <xsd:element name="message-destination"
151
                   type="javaee:message-destinationType"/>
152
      <xsd:element name="locale-encoding-mapping-list"
153
                   type="javaee:locale-encoding-mapping-listType"/>
154
    </xsd:choice>
155
  </xsd:group>
156
157
  <xsd:attributeGroup name="web-common-attributes">
158
    <xsd:attribute name="version"
159
                   type="javaee:web-app-versionType"
160
                   use="required"/>
161
    <xsd:attribute name="id"
162
                   type="xsd:ID"/>
163
    <xsd:attribute name="metadata-complete"
164
                   type="xsd:boolean">
165
      <xsd:annotation>
166
        <xsd:documentation>
167
168
          The metadata-complete attribute defines whether this
169
          deployment descriptor and other related deployment
170
          descriptors for this module (e.g., web service
171
          descriptors) are complete, or whether the class
172
          files available to this module and packaged with
173
          this application should be examined for annotations
174
          that specify deployment information.
175
          
176
          If metadata-complete is set to "true", the deployment
177
          tool must ignore any annotations that specify deployment
178
          information, which might be present in the class files
179
          of the application.
180
          
181
          If metadata-complete is not specified or is set to
182
          "false", the deployment tool must examine the class
183
          files of the application for annotations, as
184
          specified by the specifications.
185
          
186
        </xsd:documentation>
187
      </xsd:annotation>
188
    </xsd:attribute>
189
  </xsd:attributeGroup>
190
191
192
<!-- **************************************************** -->
193
194
  <xsd:complexType name="web-appType">
195
    <xsd:choice minOccurs="0"
196
                maxOccurs="unbounded">
197
      <xsd:element name="module-name"
198
                   type="javaee:string"
199
                   minOccurs="0"/>
200
      <xsd:group ref="javaee:web-commonType"/>
201
      <xsd:element name="absolute-ordering"
202
                   type="javaee:absoluteOrderingType"/>
203
    </xsd:choice>
204
    <xsd:attributeGroup ref="javaee:web-common-attributes"/>
205
  </xsd:complexType>
206
207
208
<!-- **************************************************** -->
209
210
  <xsd:complexType name="web-fragmentType">
211
    <xsd:choice minOccurs="0"
212
                maxOccurs="unbounded">
213
      <xsd:element name="name"
214
                   type="javaee:java-identifierType"/>
215
      <xsd:group ref="javaee:web-commonType"/>
216
      <xsd:element name="ordering"
217
                   type="javaee:orderingType"/>
218
    </xsd:choice>
219
    <xsd:attributeGroup ref="javaee:web-common-attributes"/>
220
  </xsd:complexType>
221
222
223
<!-- **************************************************** -->
224
225
  <xsd:complexType name="auth-constraintType">
226
    <xsd:annotation>
227
      <xsd:documentation>
228
229
        The auth-constraintType indicates the user roles that
230
        should be permitted access to this resource
231
        collection. The role-name used here must either correspond
232
        to the role-name of one of the security-role elements
233
        defined for this web application, or be the specially
234
        reserved role-name "*" that is a compact syntax for
235
        indicating all roles in the web application. If both "*"
236
        and rolenames appear, the container interprets this as all
237
        roles.  If no roles are defined, no user is allowed access
238
        to the portion of the web application described by the
239
        containing security-constraint.  The container matches
240
        role names case sensitively when determining access.
241
        
242
      </xsd:documentation>
243
    </xsd:annotation>
244
    <xsd:sequence>
245
      <xsd:element name="description"
246
                   type="javaee:descriptionType"
247
                   minOccurs="0"
248
                   maxOccurs="unbounded"/>
249
      <xsd:element name="role-name"
250
                   type="javaee:role-nameType"
251
                   minOccurs="0"
252
                   maxOccurs="unbounded"/>
253
    </xsd:sequence>
254
    <xsd:attribute name="id"
255
                   type="xsd:ID"/>
256
  </xsd:complexType>
257
258
259
<!-- **************************************************** -->
260
261
  <xsd:complexType name="auth-methodType">
262
    <xsd:annotation>
263
      <xsd:documentation>
264
265
        The auth-methodType is used to configure the authentication
266
        mechanism for the web application. As a prerequisite to
267
        gaining access to any web resources which are protected by
268
        an authorization constraint, a user must have authenticated
269
        using the configured mechanism. Legal values are "BASIC",
270
        "DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific
271
        authentication scheme.
272
        
273
        Used in: login-config
274
        
275
      </xsd:documentation>
276
    </xsd:annotation>
277
    <xsd:simpleContent>
278
      <xsd:restriction base="javaee:string"/>
279
    </xsd:simpleContent>
280
  </xsd:complexType>
281
282
283
<!-- **************************************************** -->
284
285
  <xsd:complexType name="dispatcherType">
286
    <xsd:annotation>
287
      <xsd:documentation>
288
289
        The dispatcher has five legal values: FORWARD, REQUEST,
290
        INCLUDE, ASYNC, and ERROR.
291
        
292
        A value of FORWARD means the Filter will be applied under
293
        RequestDispatcher.forward() calls.
294
        A value of REQUEST means the Filter will be applied under
295
        ordinary client calls to the path or servlet.
296
        A value of INCLUDE means the Filter will be applied under
297
        RequestDispatcher.include() calls.
298
        A value of ASYNC means the Filter will be applied under
299
        calls dispatched from an AsyncContext.
300
        A value of ERROR means the Filter will be applied under the
301
        error page mechanism.
302
        
303
        The absence of any dispatcher elements in a filter-mapping
304
        indicates a default of applying filters only under ordinary
305
        client calls to the path or servlet.
306
        
307
      </xsd:documentation>
308
    </xsd:annotation>
309
    <xsd:simpleContent>
310
      <xsd:restriction base="javaee:string">
311
        <xsd:enumeration value="FORWARD"/>
312
        <xsd:enumeration value="INCLUDE"/>
313
        <xsd:enumeration value="REQUEST"/>
314
        <xsd:enumeration value="ASYNC"/>
315
        <xsd:enumeration value="ERROR"/>
316
      </xsd:restriction>
317
    </xsd:simpleContent>
318
  </xsd:complexType>
319
320
321
<!-- **************************************************** -->
322
323
  <xsd:complexType name="error-codeType">
324
    <xsd:annotation>
325
      <xsd:documentation>
326
327
        The error-code contains an HTTP error code, ex: 404
328
        
329
        Used in: error-page
330
        
331
      </xsd:documentation>
332
    </xsd:annotation>
333
    <xsd:simpleContent>
334
      <xsd:restriction base="javaee:xsdPositiveIntegerType">
335
        <xsd:pattern value="\d{3}"/>
336
        <xsd:attribute name="id"
337
                       type="xsd:ID"/>
338
      </xsd:restriction>
339
    </xsd:simpleContent>
340
  </xsd:complexType>
341
342
343
<!-- **************************************************** -->
344
345
  <xsd:complexType name="error-pageType">
346
    <xsd:annotation>
347
      <xsd:documentation>
348
349
        The error-pageType contains a mapping between an error code
350
        or exception type to the path of a resource in the web
351
        application.
352
        
353
        Error-page declarations using the exception-type element in
354
        the deployment descriptor must be unique up to the class name of
355
        the exception-type. Similarly, error-page declarations using the
356
        error-code element must be unique in the deployment descriptor
357
        up to the status code.
358
        
359
        If an error-page element in the deployment descriptor does not
360
        contain an exception-type or an error-code element, the error
361
        page is a default error page. 
362
        
363
        Used in: web-app
364
        
365
      </xsd:documentation>
366
    </xsd:annotation>
367
    <xsd:sequence>
368
      <xsd:choice minOccurs="0"
369
                  maxOccurs="1">
370
        <xsd:element name="error-code"
371
                     type="javaee:error-codeType"/>
372
        <xsd:element name="exception-type"
373
                     type="javaee:fully-qualified-classType">
374
          <xsd:annotation>
375
            <xsd:documentation>
376
377
              The exception-type contains a fully qualified class
378
              name of a Java exception type.
379
              
380
            </xsd:documentation>
381
          </xsd:annotation>
382
        </xsd:element>
383
      </xsd:choice>
384
      <xsd:element name="location"
385
                   type="javaee:war-pathType">
386
        <xsd:annotation>
387
          <xsd:documentation>
388
389
            The location element contains the location of the
390
            resource in the web application relative to the root of
391
            the web application. The value of the location must have
392
            a leading `/'.
393
            
394
          </xsd:documentation>
395
        </xsd:annotation>
396
      </xsd:element>
397
    </xsd:sequence>
398
    <xsd:attribute name="id"
399
                   type="xsd:ID"/>
400
  </xsd:complexType>
401
402
403
<!-- **************************************************** -->
404
405
  <xsd:complexType name="filterType">
406
    <xsd:annotation>
407
      <xsd:documentation>
408
409
        The filterType is used to declare a filter in the web
410
        application. The filter is mapped to either a servlet or a
411
        URL pattern in the filter-mapping element, using the
412
        filter-name value to reference. Filters can access the
413
        initialization parameters declared in the deployment
414
        descriptor at runtime via the FilterConfig interface.
415
        
416
        Used in: web-app
417
        
418
      </xsd:documentation>
419
    </xsd:annotation>
420
    <xsd:sequence>
421
      <xsd:group ref="javaee:descriptionGroup"/>
422
      <xsd:element name="filter-name"
423
                   type="javaee:filter-nameType"/>
424
      <xsd:element name="filter-class"
425
                   type="javaee:fully-qualified-classType"
426
                   minOccurs="0"
427
                   maxOccurs="1">
428
        <xsd:annotation>
429
          <xsd:documentation>
430
431
            The fully qualified classname of the filter.
432
            
433
          </xsd:documentation>
434
        </xsd:annotation>
435
      </xsd:element>
436
      <xsd:element name="async-supported"
437
                   type="javaee:true-falseType"
438
                   minOccurs="0"/>
439
      <xsd:element name="init-param"
440
                   type="javaee:param-valueType"
441
                   minOccurs="0"
442
                   maxOccurs="unbounded">
443
        <xsd:annotation>
444
          <xsd:documentation>
445
446
            The init-param element contains a name/value pair as
447
            an initialization param of a servlet filter
448
            
449
          </xsd:documentation>
450
        </xsd:annotation>
451
      </xsd:element>
452
    </xsd:sequence>
453
    <xsd:attribute name="id"
454
                   type="xsd:ID"/>
455
  </xsd:complexType>
456
457
458
<!-- **************************************************** -->
459
460
  <xsd:complexType name="filter-mappingType">
461
    <xsd:annotation>
462
      <xsd:documentation>
463
464
        Declaration of the filter mappings in this web
465
        application is done by using filter-mappingType. 
466
        The container uses the filter-mapping
467
        declarations to decide which filters to apply to a request,
468
        and in what order. The container matches the request URI to
469
        a Servlet in the normal way. To determine which filters to
470
        apply it matches filter-mapping declarations either on
471
        servlet-name, or on url-pattern for each filter-mapping
472
        element, depending on which style is used. The order in
473
        which filters are invoked is the order in which
474
        filter-mapping declarations that match a request URI for a
475
        servlet appear in the list of filter-mapping elements.The
476
        filter-name value must be the value of the filter-name
477
        sub-elements of one of the filter declarations in the
478
        deployment descriptor.
479
        
480
      </xsd:documentation>
481
    </xsd:annotation>
482
    <xsd:sequence>
483
      <xsd:element name="filter-name"
484
                   type="javaee:filter-nameType"/>
485
      <xsd:choice minOccurs="1"
486
                  maxOccurs="unbounded">
487
        <xsd:element name="url-pattern"
488
                     type="javaee:url-patternType"/>
489
        <xsd:element name="servlet-name"
490
                     type="javaee:servlet-nameType"/>
491
      </xsd:choice>
492
      <xsd:element name="dispatcher"
493
                   type="javaee:dispatcherType"
494
                   minOccurs="0"
495
                   maxOccurs="5"/>
496
    </xsd:sequence>
497
    <xsd:attribute name="id"
498
                   type="xsd:ID"/>
499
  </xsd:complexType>
500
501
502
<!-- **************************************************** -->
503
504
  <xsd:complexType name="nonEmptyStringType">
505
    <xsd:annotation>
506
      <xsd:documentation>
507
508
        This type defines a string which contains at least one
509
        character.
510
        
511
      </xsd:documentation>
512
    </xsd:annotation>
513
    <xsd:simpleContent>
514
      <xsd:restriction base="javaee:string">
515
        <xsd:minLength value="1"/>
516
      </xsd:restriction>
517
    </xsd:simpleContent>
518
  </xsd:complexType>
519
520
521
<!-- **************************************************** -->
522
523
  <xsd:complexType name="filter-nameType">
524
    <xsd:annotation>
525
      <xsd:documentation>
526
527
        The logical name of the filter is declare
528
        by using filter-nameType. This name is used to map the
529
        filter.  Each filter name is unique within the web
530
        application.
531
        
532
        Used in: filter, filter-mapping
533
        
534
      </xsd:documentation>
535
    </xsd:annotation>
536
    <xsd:simpleContent>
537
      <xsd:extension base="javaee:nonEmptyStringType"/>
538
    </xsd:simpleContent>
539
  </xsd:complexType>
540
541
542
<!-- **************************************************** -->
543
544
  <xsd:complexType name="form-login-configType">
545
    <xsd:annotation>
546
      <xsd:documentation>
547
548
        The form-login-configType specifies the login and error
549
        pages that should be used in form based login. If form based
550
        authentication is not used, these elements are ignored.
551
        
552
        Used in: login-config
553
        
554
      </xsd:documentation>
555
    </xsd:annotation>
556
    <xsd:sequence>
557
      <xsd:element name="form-login-page"
558
                   type="javaee:war-pathType">
559
        <xsd:annotation>
560
          <xsd:documentation>
561
562
            The form-login-page element defines the location in the web
563
            app where the page that can be used for login can be
564
            found.  The path begins with a leading / and is interpreted
565
            relative to the root of the WAR.
566
            
567
          </xsd:documentation>
568
        </xsd:annotation>
569
      </xsd:element>
570
      <xsd:element name="form-error-page"
571
                   type="javaee:war-pathType">
572
        <xsd:annotation>
573
          <xsd:documentation>
574
575
            The form-error-page element defines the location in
576
            the web app where the error page that is displayed
577
            when login is not successful can be found. 
578
            The path begins with a leading / and is interpreted
579
            relative to the root of the WAR.
580
            
581
          </xsd:documentation>
582
        </xsd:annotation>
583
      </xsd:element>
584
    </xsd:sequence>
585
    <xsd:attribute name="id"
586
                   type="xsd:ID"/>
587
  </xsd:complexType>
588
589
  <xsd:simpleType name="http-methodType">
590
    <xsd:annotation>
591
      <xsd:documentation>
592
593
        A HTTP method type as defined in HTTP 1.1 section 2.2.
594
        
595
      </xsd:documentation>
596
    </xsd:annotation>
597
    <xsd:restriction base="xsd:token">
598
      <xsd:pattern value="[!-~-[\(\)&#60;&#62;@,;:&#34;/\[\]?=\{\}\\\p{Z}]]+"/>
599
    </xsd:restriction>
600
  </xsd:simpleType>
601
602
  <xsd:simpleType name="load-on-startupType">
603
    <xsd:union memberTypes="javaee:null-charType xsd:integer"/>
604
  </xsd:simpleType>
605
606
  <xsd:simpleType name="null-charType">
607
    <xsd:restriction base="xsd:string">
608
      <xsd:enumeration value=""/>
609
    </xsd:restriction>
610
  </xsd:simpleType>
611
612
613
<!-- **************************************************** -->
614
615
  <xsd:complexType name="login-configType">
616
    <xsd:annotation>
617
      <xsd:documentation>
618
619
        The login-configType is used to configure the authentication
620
        method that should be used, the realm name that should be
621
        used for this application, and the attributes that are
622
        needed by the form login mechanism.
623
        
624
        Used in: web-app
625
        
626
      </xsd:documentation>
627
    </xsd:annotation>
628
    <xsd:sequence>
629
      <xsd:element name="auth-method"
630
                   type="javaee:auth-methodType"
631
                   minOccurs="0"/>
632
      <xsd:element name="realm-name"
633
                   type="javaee:string"
634
                   minOccurs="0">
635
        <xsd:annotation>
636
          <xsd:documentation>
637
638
            The realm name element specifies the realm name to
639
            use in HTTP Basic authorization.
640
            
641
          </xsd:documentation>
642
        </xsd:annotation>
643
      </xsd:element>
644
      <xsd:element name="form-login-config"
645
                   type="javaee:form-login-configType"
646
                   minOccurs="0"/>
647
    </xsd:sequence>
648
    <xsd:attribute name="id"
649
                   type="xsd:ID"/>
650
  </xsd:complexType>
651
652
653
<!-- **************************************************** -->
654
655
  <xsd:complexType name="mime-mappingType">
656
    <xsd:annotation>
657
      <xsd:documentation>
658
659
        The mime-mappingType defines a mapping between an extension
660
        and a mime type.
661
        
662
        Used in: web-app
663
        
664
      </xsd:documentation>
665
    </xsd:annotation>
666
    <xsd:sequence>
667
      <xsd:annotation>
668
        <xsd:documentation>
669
670
          The extension element contains a string describing an
671
          extension. example: "txt"
672
          
673
        </xsd:documentation>
674
      </xsd:annotation>
675
      <xsd:element name="extension"
676
                   type="javaee:string"/>
677
      <xsd:element name="mime-type"
678
                   type="javaee:mime-typeType"/>
679
    </xsd:sequence>
680
    <xsd:attribute name="id"
681
                   type="xsd:ID"/>
682
  </xsd:complexType>
683
684
685
<!-- **************************************************** -->
686
687
  <xsd:complexType name="mime-typeType">
688
    <xsd:annotation>
689
      <xsd:documentation>
690
691
        The mime-typeType is used to indicate a defined mime type.
692
        
693
        Example:
694
        "text/plain"
695
        
696
        Used in: mime-mapping
697
        
698
      </xsd:documentation>
699
    </xsd:annotation>
700
    <xsd:simpleContent>
701
      <xsd:restriction base="javaee:string">
702
        <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/>
703
      </xsd:restriction>
704
    </xsd:simpleContent>
705
  </xsd:complexType>
706
707
708
<!-- **************************************************** -->
709
710
  <xsd:complexType name="security-constraintType">
711
    <xsd:annotation>
712
      <xsd:documentation>
713
714
        The security-constraintType is used to associate
715
        security constraints with one or more web resource
716
        collections
717
        
718
        Used in: web-app
719
        
720
      </xsd:documentation>
721
    </xsd:annotation>
722
    <xsd:sequence>
723
      <xsd:element name="display-name"
724
                   type="javaee:display-nameType"
725
                   minOccurs="0"
726
                   maxOccurs="unbounded"/>
727
      <xsd:element name="web-resource-collection"
728
                   type="javaee:web-resource-collectionType"
729
                   maxOccurs="unbounded"/>
730
      <xsd:element name="auth-constraint"
731
                   type="javaee:auth-constraintType"
732
                   minOccurs="0"/>
733
      <xsd:element name="user-data-constraint"
734
                   type="javaee:user-data-constraintType"
735
                   minOccurs="0"/>
736
    </xsd:sequence>
737
    <xsd:attribute name="id"
738
                   type="xsd:ID"/>
739
  </xsd:complexType>
740
741
742
<!-- **************************************************** -->
743
744
  <xsd:complexType name="servletType">
745
    <xsd:annotation>
746
      <xsd:documentation>
747
748
        The servletType is used to declare a servlet.
749
        It contains the declarative data of a
750
        servlet. If a jsp-file is specified and the load-on-startup
751
        element is present, then the JSP should be precompiled and
752
        loaded.
753
        
754
        Used in: web-app
755
        
756
      </xsd:documentation>
757
    </xsd:annotation>
758
    <xsd:sequence>
759
      <xsd:group ref="javaee:descriptionGroup"/>
760
      <xsd:element name="servlet-name"
761
                   type="javaee:servlet-nameType"/>
762
      <xsd:choice minOccurs="0"
763
                  maxOccurs="1">
764
        <xsd:element name="servlet-class"
765
                     type="javaee:fully-qualified-classType">
766
          <xsd:annotation>
767
            <xsd:documentation>
768
769
              The servlet-class element contains the fully
770
              qualified class name of the servlet.
771
              
772
            </xsd:documentation>
773
          </xsd:annotation>
774
        </xsd:element>
775
        <xsd:element name="jsp-file"
776
                     type="javaee:jsp-fileType"/>
777
      </xsd:choice>
778
      <xsd:element name="init-param"
779
                   type="javaee:param-valueType"
780
                   minOccurs="0"
781
                   maxOccurs="unbounded"/>
782
      <xsd:element name="load-on-startup"
783
                   type="javaee:load-on-startupType"
784
                   minOccurs="0">
785
        <xsd:annotation>
786
          <xsd:documentation>
787
788
            The load-on-startup element indicates that this
789
            servlet should be loaded (instantiated and have
790
            its init() called) on the startup of the web
791
            application. The optional contents of these
792
            element must be an integer indicating the order in
793
            which the servlet should be loaded. If the value
794
            is a negative integer, or the element is not
795
            present, the container is free to load the servlet
796
            whenever it chooses. If the value is a positive
797
            integer or 0, the container must load and
798
            initialize the servlet as the application is
799
            deployed. The container must guarantee that
800
            servlets marked with lower integers are loaded
801
            before servlets marked with higher integers. The
802
            container may choose the order of loading of
803
            servlets with the same load-on-start-up value.
804
            
805
          </xsd:documentation>
806
        </xsd:annotation>
807
      </xsd:element>
808
      <xsd:element name="enabled"
809
                   type="javaee:true-falseType"
810
                   minOccurs="0"/>
811
      <xsd:element name="async-supported"
812
                   type="javaee:true-falseType"
813
                   minOccurs="0"/>
814
      <xsd:element name="run-as"
815
                   type="javaee:run-asType"
816
                   minOccurs="0"/>
817
      <xsd:element name="security-role-ref"
818
                   type="javaee:security-role-refType"
819
                   minOccurs="0"
820
                   maxOccurs="unbounded"/>
821
      <xsd:element name="multipart-config"
822
                   type="javaee:multipart-configType"
823
                   minOccurs="0"
824
                   maxOccurs="1"/>
825
    </xsd:sequence>
826
    <xsd:attribute name="id"
827
                   type="xsd:ID"/>
828
  </xsd:complexType>
829
830
831
<!-- **************************************************** -->
832
833
  <xsd:complexType name="servlet-mappingType">
834
    <xsd:annotation>
835
      <xsd:documentation>
836
837
        The servlet-mappingType defines a mapping between a
838
        servlet and a url pattern. 
839
        
840
        Used in: web-app
841
        
842
      </xsd:documentation>
843
    </xsd:annotation>
844
    <xsd:sequence>
845
      <xsd:element name="servlet-name"
846
                   type="javaee:servlet-nameType"/>
847
      <xsd:element name="url-pattern"
848
                   type="javaee:url-patternType"
849
                   minOccurs="1"
850
                   maxOccurs="unbounded"/>
851
    </xsd:sequence>
852
    <xsd:attribute name="id"
853
                   type="xsd:ID"/>
854
  </xsd:complexType>
855
856
857
<!-- **************************************************** -->
858
859
  <xsd:complexType name="servlet-nameType">
860
    <xsd:annotation>
861
      <xsd:documentation>
862
863
        The servlet-name element contains the canonical name of the
864
        servlet. Each servlet name is unique within the web
865
        application.
866
        
867
      </xsd:documentation>
868
    </xsd:annotation>
869
    <xsd:simpleContent>
870
      <xsd:extension base="javaee:nonEmptyStringType"/>
871
    </xsd:simpleContent>
872
  </xsd:complexType>
873
874
875
<!-- **************************************************** -->
876
877
  <xsd:complexType name="session-configType">
878
    <xsd:annotation>
879
      <xsd:documentation>
880
881
        The session-configType defines the session parameters
882
        for this web application.
883
        
884
        Used in: web-app
885
        
886
      </xsd:documentation>
887
    </xsd:annotation>
888
    <xsd:sequence>
889
      <xsd:element name="session-timeout"
890
                   type="javaee:xsdIntegerType"
891
                   minOccurs="0">
892
        <xsd:annotation>
893
          <xsd:documentation>
894
895
            The session-timeout element defines the default
896
            session timeout interval for all sessions created
897
            in this web application. The specified timeout
898
            must be expressed in a whole number of minutes.
899
            If the timeout is 0 or less, the container ensures
900
            the default behaviour of sessions is never to time
901
            out. If this element is not specified, the container
902
            must set its default timeout period.
903
            
904
          </xsd:documentation>
905
        </xsd:annotation>
906
      </xsd:element>
907
      <xsd:element name="cookie-config"
908
                   type="javaee:cookie-configType"
909
                   minOccurs="0">
910
        <xsd:annotation>
911
          <xsd:documentation>
912
913
            The cookie-config element defines the configuration of the
914
            session tracking cookies created by this web application.
915
            
916
          </xsd:documentation>
917
        </xsd:annotation>
918
      </xsd:element>
919
      <xsd:element name="tracking-mode"
920
                   type="javaee:tracking-modeType"
921
                   minOccurs="0"
922
                   maxOccurs="3">
923
        <xsd:annotation>
924
          <xsd:documentation>
925
926
            The tracking-mode element defines the tracking modes
927
            for sessions created by this web application
928
            
929
          </xsd:documentation>
930
        </xsd:annotation>
931
      </xsd:element>
932
    </xsd:sequence>
933
    <xsd:attribute name="id"
934
                   type="xsd:ID"/>
935
  </xsd:complexType>
936
937
938
<!-- **************************************************** -->
939
940
  <xsd:complexType name="cookie-configType">
941
    <xsd:annotation>
942
      <xsd:documentation>
943
944
        The cookie-configType defines the configuration for the
945
        session tracking cookies of this web application.
946
        
947
        Used in: session-config
948
        
949
      </xsd:documentation>
950
    </xsd:annotation>
951
    <xsd:sequence>
952
      <xsd:element name="name"
953
                   type="javaee:cookie-nameType"
954
                   minOccurs="0">
955
        <xsd:annotation>
956
          <xsd:documentation>
957
958
            The name that will be assigned to any session tracking
959
            cookies created by this web application.
960
            The default is JSESSIONID
961
            
962
          </xsd:documentation>
963
        </xsd:annotation>
964
      </xsd:element>
965
      <xsd:element name="domain"
966
                   type="javaee:cookie-domainType"
967
                   minOccurs="0">
968
        <xsd:annotation>
969
          <xsd:documentation>
970
971
            The domain name that will be assigned to any session tracking
972
            cookies created by this web application.
973
            
974
          </xsd:documentation>
975
        </xsd:annotation>
976
      </xsd:element>
977
      <xsd:element name="path"
978
                   type="javaee:cookie-pathType"
979
                   minOccurs="0">
980
        <xsd:annotation>
981
          <xsd:documentation>
982
983
            The path that will be assigned to any session tracking
984
            cookies created by this web application.
985
            
986
          </xsd:documentation>
987
        </xsd:annotation>
988
      </xsd:element>
989
      <xsd:element name="comment"
990
                   type="javaee:cookie-commentType"
991
                   minOccurs="0">
992
        <xsd:annotation>
993
          <xsd:documentation>
994
995
            The comment that will be assigned to any session tracking
996
            cookies created by this web application.
997
            
998
          </xsd:documentation>
999
        </xsd:annotation>
1000
      </xsd:element>
1001
      <xsd:element name="http-only"
1002
                   type="javaee:true-falseType"
1003
                   minOccurs="0">
1004
        <xsd:annotation>
1005
          <xsd:documentation>
1006
1007
            Specifies whether any session tracking cookies created 
1008
            by this web application will be marked as HttpOnly
1009
            
1010
          </xsd:documentation>
1011
        </xsd:annotation>
1012
      </xsd:element>
1013
      <xsd:element name="secure"
1014
                   type="javaee:true-falseType"
1015
                   minOccurs="0">
1016
        <xsd:annotation>
1017
          <xsd:documentation>
1018
1019
            Specifies whether any session tracking cookies created 
1020
            by this web application will be marked as secure
1021
            even if the request that initiated the corresponding session
1022
            is using plain HTTP instead of HTTPS
1023
            
1024
          </xsd:documentation>
1025
        </xsd:annotation>
1026
      </xsd:element>
1027
      <xsd:element name="max-age"
1028
                   type="javaee:xsdIntegerType"
1029
                   minOccurs="0">
1030
        <xsd:annotation>
1031
          <xsd:documentation>
1032
1033
            The lifetime (in seconds) that will be assigned to any
1034
            session tracking cookies created by this web application.
1035
            Default is -1
1036
            
1037
          </xsd:documentation>
1038
        </xsd:annotation>
1039
      </xsd:element>
1040
    </xsd:sequence>
1041
    <xsd:attribute name="id"
1042
                   type="xsd:ID"/>
1043
  </xsd:complexType>
1044
1045
1046
<!-- **************************************************** -->
1047
1048
  <xsd:complexType name="cookie-nameType">
1049
    <xsd:annotation>
1050
      <xsd:documentation>
1051
1052
        The name that will be assigned to any session tracking
1053
        cookies created by this web application.
1054
        The default is JSESSIONID
1055
        
1056
        Used in: cookie-config
1057
        
1058
      </xsd:documentation>
1059
    </xsd:annotation>
1060
    <xsd:simpleContent>
1061
      <xsd:extension base="javaee:nonEmptyStringType"/>
1062
    </xsd:simpleContent>
1063
  </xsd:complexType>
1064
1065
1066
<!-- **************************************************** -->
1067
1068
  <xsd:complexType name="cookie-domainType">
1069
    <xsd:annotation>
1070
      <xsd:documentation>
1071
1072
        The domain name that will be assigned to any session tracking
1073
        cookies created by this web application.
1074
        
1075
        Used in: cookie-config
1076
        
1077
      </xsd:documentation>
1078
    </xsd:annotation>
1079
    <xsd:simpleContent>
1080
      <xsd:extension base="javaee:nonEmptyStringType"/>
1081
    </xsd:simpleContent>
1082
  </xsd:complexType>
1083
1084
1085
<!-- **************************************************** -->
1086
1087
  <xsd:complexType name="cookie-pathType">
1088
    <xsd:annotation>
1089
      <xsd:documentation>
1090
1091
        The path that will be assigned to any session tracking
1092
        cookies created by this web application.
1093
        
1094
        Used in: cookie-config
1095
        
1096
      </xsd:documentation>
1097
    </xsd:annotation>
1098
    <xsd:simpleContent>
1099
      <xsd:extension base="javaee:nonEmptyStringType"/>
1100
    </xsd:simpleContent>
1101
  </xsd:complexType>
1102
1103
1104
<!-- **************************************************** -->
1105
1106
  <xsd:complexType name="cookie-commentType">
1107
    <xsd:annotation>
1108
      <xsd:documentation>
1109
1110
        The comment that will be assigned to any session tracking
1111
        cookies created by this web application.
1112
        
1113
        Used in: cookie-config
1114
        
1115
      </xsd:documentation>
1116
    </xsd:annotation>
1117
    <xsd:simpleContent>
1118
      <xsd:extension base="javaee:nonEmptyStringType"/>
1119
    </xsd:simpleContent>
1120
  </xsd:complexType>
1121
1122
1123
<!-- **************************************************** -->
1124
1125
  <xsd:complexType name="tracking-modeType">
1126
    <xsd:annotation>
1127
      <xsd:documentation>
1128
1129
        The tracking modes for sessions created by this web
1130
        application
1131
        
1132
        Used in: session-config
1133
        
1134
      </xsd:documentation>
1135
    </xsd:annotation>
1136
    <xsd:simpleContent>
1137
      <xsd:restriction base="javaee:string">
1138
        <xsd:enumeration value="COOKIE"/>
1139
        <xsd:enumeration value="URL"/>
1140
        <xsd:enumeration value="SSL"/>
1141
      </xsd:restriction>
1142
    </xsd:simpleContent>
1143
  </xsd:complexType>
1144
1145
1146
<!-- **************************************************** -->
1147
1148
  <xsd:complexType name="transport-guaranteeType">
1149
    <xsd:annotation>
1150
      <xsd:documentation>
1151
1152
        The transport-guaranteeType specifies that the communication
1153
        between client and server should be NONE, INTEGRAL, or
1154
        CONFIDENTIAL. NONE means that the application does not
1155
        require any transport guarantees. A value of INTEGRAL means
1156
        that the application requires that the data sent between the
1157
        client and server be sent in such a way that it can't be
1158
        changed in transit. CONFIDENTIAL means that the application
1159
        requires that the data be transmitted in a fashion that
1160
        prevents other entities from observing the contents of the
1161
        transmission. In most cases, the presence of the INTEGRAL or
1162
        CONFIDENTIAL flag will indicate that the use of SSL is
1163
        required.
1164
        
1165
        Used in: user-data-constraint
1166
        
1167
      </xsd:documentation>
1168
    </xsd:annotation>
1169
    <xsd:simpleContent>
1170
      <xsd:restriction base="javaee:string">
1171
        <xsd:enumeration value="NONE"/>
1172
        <xsd:enumeration value="INTEGRAL"/>
1173
        <xsd:enumeration value="CONFIDENTIAL"/>
1174
      </xsd:restriction>
1175
    </xsd:simpleContent>
1176
  </xsd:complexType>
1177
1178
1179
<!-- **************************************************** -->
1180
1181
  <xsd:complexType name="user-data-constraintType">
1182
    <xsd:annotation>
1183
      <xsd:documentation>
1184
1185
        The user-data-constraintType is used to indicate how
1186
        data communicated between the client and container should be
1187
        protected.
1188
        
1189
        Used in: security-constraint
1190
        
1191
      </xsd:documentation>
1192
    </xsd:annotation>
1193
    <xsd:sequence>
1194
      <xsd:element name="description"
1195
                   type="javaee:descriptionType"
1196
                   minOccurs="0"
1197
                   maxOccurs="unbounded"/>
1198
      <xsd:element name="transport-guarantee"
1199
                   type="javaee:transport-guaranteeType"/>
1200
    </xsd:sequence>
1201
    <xsd:attribute name="id"
1202
                   type="xsd:ID"/>
1203
  </xsd:complexType>
1204
1205
1206
<!-- **************************************************** -->
1207
1208
  <xsd:complexType name="war-pathType">
1209
    <xsd:annotation>
1210
      <xsd:documentation>
1211
1212
        The elements that use this type designate a path starting
1213
        with a "/" and interpreted relative to the root of a WAR
1214
        file.
1215
        
1216
      </xsd:documentation>
1217
    </xsd:annotation>
1218
    <xsd:simpleContent>
1219
      <xsd:restriction base="javaee:string">
1220
        <xsd:pattern value="/.*"/>
1221
      </xsd:restriction>
1222
    </xsd:simpleContent>
1223
  </xsd:complexType>
1224
1225
  <xsd:simpleType name="web-app-versionType">
1226
    <xsd:annotation>
1227
      <xsd:documentation>
1228
1229
        This type contains the recognized versions of
1230
        web-application supported. It is used to designate the
1231
        version of the web application.
1232
        
1233
      </xsd:documentation>
1234
    </xsd:annotation>
1235
    <xsd:restriction base="xsd:token">
1236
      <xsd:enumeration value="3.1"/>
1237
    </xsd:restriction>
1238
  </xsd:simpleType>
1239
1240
1241
<!-- **************************************************** -->
1242
1243
  <xsd:complexType name="web-resource-collectionType">
1244
    <xsd:annotation>
1245
      <xsd:documentation>
1246
1247
        The web-resource-collectionType is used to identify the
1248
        resources and HTTP methods on those resources to which a
1249
        security constraint applies. If no HTTP methods are specified,
1250
        then the security constraint applies to all HTTP methods.
1251
        If HTTP methods are specified by http-method-omission
1252
        elements, the security constraint applies to all methods
1253
        except those identified in the collection.
1254
        http-method-omission and http-method elements are never
1255
        mixed in the same collection. 
1256
        
1257
        Used in: security-constraint
1258
        
1259
      </xsd:documentation>
1260
    </xsd:annotation>
1261
    <xsd:sequence>
1262
      <xsd:element name="web-resource-name"
1263
                   type="javaee:string">
1264
        <xsd:annotation>
1265
          <xsd:documentation>
1266
1267
            The web-resource-name contains the name of this web
1268
            resource collection.
1269
            
1270
          </xsd:documentation>
1271
        </xsd:annotation>
1272
      </xsd:element>
1273
      <xsd:element name="description"
1274
                   type="javaee:descriptionType"
1275
                   minOccurs="0"
1276
                   maxOccurs="unbounded"/>
1277
      <xsd:element name="url-pattern"
1278
                   type="javaee:url-patternType"
1279
                   maxOccurs="unbounded"/>
1280
      <xsd:choice minOccurs="0"
1281
                  maxOccurs="1">
1282
        <xsd:element name="http-method"
1283
                     type="javaee:http-methodType"
1284
                     minOccurs="1"
1285
                     maxOccurs="unbounded">
1286
          <xsd:annotation>
1287
            <xsd:documentation>
1288
1289
              Each http-method names an HTTP method to which the
1290
              constraint applies.
1291
              
1292
            </xsd:documentation>
1293
          </xsd:annotation>
1294
        </xsd:element>
1295
        <xsd:element name="http-method-omission"
1296
                     type="javaee:http-methodType"
1297
                     minOccurs="1"
1298
                     maxOccurs="unbounded">
1299
          <xsd:annotation>
1300
            <xsd:documentation>
1301
1302
              Each http-method-omission names an HTTP method to
1303
              which the constraint does not apply.
1304
              
1305
            </xsd:documentation>
1306
          </xsd:annotation>
1307
        </xsd:element>
1308
      </xsd:choice>
1309
    </xsd:sequence>
1310
    <xsd:attribute name="id"
1311
                   type="xsd:ID"/>
1312
  </xsd:complexType>
1313
1314
1315
<!-- **************************************************** -->
1316
1317
  <xsd:complexType name="welcome-file-listType">
1318
    <xsd:annotation>
1319
      <xsd:documentation>
1320
1321
        The welcome-file-list contains an ordered list of welcome
1322
        files elements.
1323
        
1324
        Used in: web-app
1325
        
1326
      </xsd:documentation>
1327
    </xsd:annotation>
1328
    <xsd:sequence>
1329
      <xsd:element name="welcome-file"
1330
                   type="xsd:string"
1331
                   maxOccurs="unbounded">
1332
        <xsd:annotation>
1333
          <xsd:documentation>
1334
1335
            The welcome-file element contains file name to use
1336
            as a default welcome file, such as index.html
1337
            
1338
          </xsd:documentation>
1339
        </xsd:annotation>
1340
      </xsd:element>
1341
    </xsd:sequence>
1342
    <xsd:attribute name="id"
1343
                   type="xsd:ID"/>
1344
  </xsd:complexType>
1345
1346
  <xsd:simpleType name="localeType">
1347
    <xsd:annotation>
1348
      <xsd:documentation>
1349
1350
        The localeType defines valid locale defined by ISO-639-1
1351
        and ISO-3166.
1352
        
1353
      </xsd:documentation>
1354
    </xsd:annotation>
1355
    <xsd:restriction base="xsd:string">
1356
      <xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?"/>
1357
    </xsd:restriction>
1358
  </xsd:simpleType>
1359
1360
  <xsd:simpleType name="encodingType">
1361
    <xsd:annotation>
1362
      <xsd:documentation>
1363
1364
        The encodingType defines IANA character sets.
1365
        
1366
      </xsd:documentation>
1367
    </xsd:annotation>
1368
    <xsd:restriction base="xsd:string">
1369
      <xsd:pattern value="[^\s]+"/>
1370
    </xsd:restriction>
1371
  </xsd:simpleType>
1372
1373
1374
<!-- **************************************************** -->
1375
1376
  <xsd:complexType name="locale-encoding-mapping-listType">
1377
    <xsd:annotation>
1378
      <xsd:documentation>
1379
1380
        The locale-encoding-mapping-list contains one or more
1381
        locale-encoding-mapping(s).
1382
        
1383
      </xsd:documentation>
1384
    </xsd:annotation>
1385
    <xsd:sequence>
1386
      <xsd:element name="locale-encoding-mapping"
1387
                   type="javaee:locale-encoding-mappingType"
1388
                   maxOccurs="unbounded"/>
1389
    </xsd:sequence>
1390
    <xsd:attribute name="id"
1391
                   type="xsd:ID"/>
1392
  </xsd:complexType>
1393
1394
1395
<!-- **************************************************** -->
1396
1397
  <xsd:complexType name="locale-encoding-mappingType">
1398
    <xsd:annotation>
1399
      <xsd:documentation>
1400
1401
        The locale-encoding-mapping contains locale name and
1402
        encoding name. The locale name must be either "Language-code",
1403
        such as "ja", defined by ISO-639 or "Language-code_Country-code",
1404
        such as "ja_JP".  "Country code" is defined by ISO-3166.
1405
        
1406
      </xsd:documentation>
1407
    </xsd:annotation>
1408
    <xsd:sequence>
1409
      <xsd:element name="locale"
1410
                   type="javaee:localeType"/>
1411
      <xsd:element name="encoding"
1412
                   type="javaee:encodingType"/>
1413
    </xsd:sequence>
1414
    <xsd:attribute name="id"
1415
                   type="xsd:ID"/>
1416
  </xsd:complexType>
1417
1418
1419
<!-- **************************************************** -->
1420
1421
  <xsd:complexType name="ordering-othersType">
1422
    <xsd:annotation>
1423
      <xsd:documentation>
1424
1425
        This element indicates that the ordering sub-element in which
1426
        it was placed should take special action regarding the ordering
1427
        of this application resource relative to other application
1428
        configuration resources.
1429
        See section 8.2.2 of the specification for details.
1430
        
1431
      </xsd:documentation>
1432
    </xsd:annotation>
1433
    <xsd:attribute name="id"
1434
                   type="xsd:ID"/>
1435
  </xsd:complexType>
1436
1437
1438
<!-- **************************************************** -->
1439
1440
  <xsd:complexType name="absoluteOrderingType">
1441
    <xsd:annotation>
1442
      <xsd:documentation>
1443
1444
        Please see section 8.2.2 of the specification for details.
1445
        
1446
      </xsd:documentation>
1447
    </xsd:annotation>
1448
    <xsd:choice minOccurs="0"
1449
                maxOccurs="unbounded">
1450
      <xsd:element name="name"
1451
                   type="javaee:java-identifierType"
1452
                   minOccurs="0"
1453
                   maxOccurs="unbounded"/>
1454
      <xsd:element name="others"
1455
                   type="javaee:ordering-othersType"
1456
                   minOccurs="0"
1457
                   maxOccurs="1"/>
1458
    </xsd:choice>
1459
  </xsd:complexType>
1460
1461
1462
<!-- **************************************************** -->
1463
1464
  <xsd:complexType name="orderingType">
1465
    <xsd:annotation>
1466
      <xsd:documentation>
1467
1468
        Please see section 8.2.2 of the specification for details.
1469
        
1470
      </xsd:documentation>
1471
    </xsd:annotation>
1472
    <xsd:sequence>
1473
      <xsd:element name="after"
1474
                   type="javaee:ordering-orderingType"
1475
                   minOccurs="0"
1476
                   maxOccurs="1"/>
1477
      <xsd:element name="before"
1478
                   type="javaee:ordering-orderingType"
1479
                   minOccurs="0"
1480
                   maxOccurs="1"/>
1481
    </xsd:sequence>
1482
  </xsd:complexType>
1483
1484
1485
<!-- **************************************************** -->
1486
1487
  <xsd:complexType name="ordering-orderingType">
1488
    <xsd:annotation>
1489
      <xsd:documentation>
1490
1491
        This element contains a sequence of "name" elements, each of
1492
        which
1493
        refers to an application configuration resource by the "name"
1494
        declared on its web.xml fragment.  This element can also contain
1495
        a single "others" element which specifies that this document
1496
        comes
1497
        before or after other documents within the application.
1498
        See section 8.2.2 of the specification for details.
1499
        
1500
      </xsd:documentation>
1501
    </xsd:annotation>
1502
    <xsd:sequence>
1503
      <xsd:element name="name"
1504
                   type="javaee:java-identifierType"
1505
                   minOccurs="0"
1506
                   maxOccurs="unbounded"/>
1507
      <xsd:element name="others"
1508
                   type="javaee:ordering-othersType"
1509
                   minOccurs="0"
1510
                   maxOccurs="1"/>
1511
    </xsd:sequence>
1512
  </xsd:complexType>
1513
1514
1515
<!-- **************************************************** -->
1516
1517
  <xsd:complexType name="multipart-configType">
1518
    <xsd:annotation>
1519
      <xsd:documentation>
1520
1521
        This element specifies configuration information related to the
1522
        handling of multipart/form-data requests.
1523
        
1524
      </xsd:documentation>
1525
    </xsd:annotation>
1526
    <xsd:sequence>
1527
      <xsd:element name="location"
1528
                   type="javaee:string"
1529
                   minOccurs="0"
1530
                   maxOccurs="1">
1531
        <xsd:annotation>
1532
          <xsd:documentation>
1533
1534
            The directory location where uploaded files will be stored
1535
            
1536
          </xsd:documentation>
1537
        </xsd:annotation>
1538
      </xsd:element>
1539
      <xsd:element name="max-file-size"
1540
                   type="xsd:long"
1541
                   minOccurs="0"
1542
                   maxOccurs="1">
1543
        <xsd:annotation>
1544
          <xsd:documentation>
1545
1546
            The maximum size limit of uploaded files
1547
            
1548
          </xsd:documentation>
1549
        </xsd:annotation>
1550
      </xsd:element>
1551
      <xsd:element name="max-request-size"
1552
                   type="xsd:long"
1553
                   minOccurs="0"
1554
                   maxOccurs="1">
1555
        <xsd:annotation>
1556
          <xsd:documentation>
1557
1558
            The maximum size limit of multipart/form-data requests
1559
            
1560
          </xsd:documentation>
1561
        </xsd:annotation>
1562
      </xsd:element>
1563
      <xsd:element name="file-size-threshold"
1564
                   type="xsd:integer"
1565
                   minOccurs="0"
1566
                   maxOccurs="1">
1567
        <xsd:annotation>
1568
          <xsd:documentation>
1569
1570
            The size threshold after which an uploaded file will be
1571
            written to disk
1572
            
1573
          </xsd:documentation>
1574
        </xsd:annotation>
1575
      </xsd:element>
1576
    </xsd:sequence>
1577
  </xsd:complexType>
1578
1579
</xsd:schema>
(-)a/bundles/org.eclipse.jst.standard.schemas/plugin.xml (+23 lines)
Lines 29-34 Link Here
29
            <uri
29
            <uri
30
                name="http://java.sun.com/xml/ns/javaee/application_6.xsd"
30
                name="http://java.sun.com/xml/ns/javaee/application_6.xsd"
31
                uri="dtdsAndSchemas/application_6.xsd" />
31
                uri="dtdsAndSchemas/application_6.xsd" />
32
            <uri
33
                name="http://java.sun.com/xml/ns/javaee/application_7.xsd"
34
                uri="dtdsAndSchemas/application_7.xsd" />
32
35
33
36
34
            <public
37
            <public
Lines 48-53 Link Here
48
            <uri
51
            <uri
49
                name="http://java.sun.com/xml/ns/javaee/application-client_6.xsd"
52
                name="http://java.sun.com/xml/ns/javaee/application-client_6.xsd"
50
                uri="dtdsAndSchemas/application-client_6.xsd" />
53
                uri="dtdsAndSchemas/application-client_6.xsd" />
54
            <uri
55
                name="http://java.sun.com/xml/ns/javaee/application-client_7.xsd"
56
                uri="dtdsAndSchemas/application-client_7.xsd" />
51
57
52
58
53
            <public
59
            <public
Lines 79-84 Link Here
79
            <uri
85
            <uri
80
                name="http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
86
                name="http://java.sun.com/xml/ns/javaee/ejb-jar_3_1.xsd"
81
                uri="dtdsAndSchemas/ejb-jar_3_1.xsd" />
87
                uri="dtdsAndSchemas/ejb-jar_3_1.xsd" />
88
            <uri
89
                name="http://java.sun.com/xml/ns/javaee/ejb-jar_3_2.xsd"
90
                uri="dtdsAndSchemas/ejb-jar_3_2.xsd" />
82
91
83
92
84
            <uri
93
            <uri
Lines 113-118 Link Here
113
            <uri
122
            <uri
114
                name="http://java.sun.com/xml/ns/javaee/javaee_6.xsd"
123
                name="http://java.sun.com/xml/ns/javaee/javaee_6.xsd"
115
                uri="dtdsAndSchemas/javaee_6.xsd" />
124
                uri="dtdsAndSchemas/javaee_6.xsd" />
125
            <uri
126
                name="http://java.sun.com/xml/ns/javaee/javaee_7.xsd"
127
                uri="dtdsAndSchemas/javaee_7.xsd" />
116
128
117
129
118
            <uri
130
            <uri
Lines 137-142 Link Here
137
            <uri
149
            <uri
138
                name="http://java.sun.com/xml/ns/j2ee/jsp_2_2.xsd"
150
                name="http://java.sun.com/xml/ns/j2ee/jsp_2_2.xsd"
139
                uri="dtdsAndSchemas/jsp_2_2.xsd" />
151
                uri="dtdsAndSchemas/jsp_2_2.xsd" />
152
            <uri
153
                name="http://java.sun.com/xml/ns/j2ee/jsp_2_3.xsd"
154
                uri="dtdsAndSchemas/jsp_2_3.xsd" />
140
155
141
156
142
            <public
157
            <public
Lines 160-168 Link Here
160
                name="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
175
                name="http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
161
                uri="dtdsAndSchemas/web-app_3_0.xsd" />
176
                uri="dtdsAndSchemas/web-app_3_0.xsd" />
162
            <uri
177
            <uri
178
                name="http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
179
                uri="dtdsAndSchemas/web-app_3_1.xsd" />
180
181
            <uri
163
                name="http://java.sun.com/xml/ns/javaee/web-common_3_0.xsd"
182
                name="http://java.sun.com/xml/ns/javaee/web-common_3_0.xsd"
164
                uri="dtdsAndSchemas/web-common_3_0.xsd" />
183
                uri="dtdsAndSchemas/web-common_3_0.xsd" />
165
            <uri
184
            <uri
185
                name="http://java.sun.com/xml/ns/javaee/web-common_3_1.xsd"
186
                uri="dtdsAndSchemas/web-common_3_1.xsd" />
187
188
            <uri
166
                name="http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
189
                name="http://java.sun.com/xml/ns/javaee/web-fragment_3_0.xsd"
167
                uri="dtdsAndSchemas/web-fragment_3_0.xsd" />
190
                uri="dtdsAndSchemas/web-fragment_3_0.xsd" />
168
191

Return to bug 399524