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 262038
Collapse All | Expand All

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

Return to bug 262038