blob: 8c0902e129a937c3e69e6759425bc56f86114461 [file] [log] [blame]
david_williamse073de12007-04-28 04:01:44 +00001<?xml version="1.0" encoding="UTF-8"?>
2
3<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
4 targetNamespace="http://java.sun.com/xml/ns/javaee"
5 xmlns:javaee="http://java.sun.com/xml/ns/javaee"
6 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7 elementFormDefault="qualified"
8 attributeFormDefault="unqualified"
9 version="2.5">
10 <xsd:annotation>
11 <xsd:documentation>
12 @(#)web-app_2_5.xsds 1.62 05/08/06
13 </xsd:documentation>
14 </xsd:annotation>
15
16 <xsd:annotation>
17 <xsd:documentation>
18
19 Copyright 2003-2005 Sun Microsystems, Inc.
20 4150 Network Circle
21 Santa Clara, California 95054
22 U.S.A
23 All rights reserved.
24
25 Sun Microsystems, Inc. has intellectual property rights
26 relating to technology described in this document. In
27 particular, and without limitation, these intellectual
28 property rights may include one or more of the U.S. patents
29 listed at http://www.sun.com/patents and one or more
30 additional patents or pending patent applications in the
31 U.S. and other countries.
32
33 This document and the technology which it describes are
34 distributed under licenses restricting their use, copying,
35 distribution, and decompilation. No part of this document
36 may be reproduced in any form by any means without prior
37 written authorization of Sun and its licensors, if any.
38
39 Third-party software, including font technology, is
40 copyrighted and licensed from Sun suppliers.
41
42 Sun, Sun Microsystems, the Sun logo, Solaris, Java, J2EE,
43 JavaServer Pages, Enterprise JavaBeans and the Java Coffee
44 Cup logo are trademarks or registered trademarks of Sun
45 Microsystems, Inc. in the U.S. and other countries.
46
47 Federal Acquisitions: Commercial Software - Government Users
48 Subject to Standard License Terms and Conditions.
49
50 </xsd:documentation>
51 </xsd:annotation>
52
53 <xsd:annotation>
54 <xsd:documentation>
55 <![CDATA[
56
57 This is the XML Schema for the Servlet 2.5 deployment descriptor.
58 The deployment descriptor must be named "WEB-INF/web.xml" in the
59 web application's war file. All Servlet deployment descriptors
60 must indicate the web application schema by using the Java EE
61 namespace:
62
63 http://java.sun.com/xml/ns/javaee
64
65 and by indicating the version of the schema by
66 using the version element as shown below:
67
68 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
69 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
70 xsi:schemaLocation="..."
71 version="2.5">
72 ...
73 </web-app>
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/web-app_2_5.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_5.xsd"/>
104 <xsd:include schemaLocation="jsp_2_1.xsd"/>
105
106
107<!-- **************************************************** -->
108
109 <xsd:element name="web-app" type="javaee:web-appType">
110 <xsd:annotation>
111 <xsd:documentation>
112
113 The web-app element is the root of the deployment
114 descriptor for a web application. Note that the sub-elements
115 of this element can be in the arbitrary order. Because of
116 that, the multiplicity of the elements of distributable,
117 session-config, welcome-file-list, jsp-config, login-config,
118 and locale-encoding-mapping-list was changed from "?" to "*"
119 in this schema. However, the deployment descriptor instance
120 file must not contain multiple elements of session-config,
121 jsp-config, and login-config. When there are multiple elements of
122 welcome-file-list or locale-encoding-mapping-list, the container
123 must concatenate the element contents. The multiple occurence
124 of the element distributable is redundant and the container
125 treats that case exactly in the same way when there is only
126 one distributable.
127
128 </xsd:documentation>
129 </xsd:annotation>
130
131 <xsd:unique name="web-app-servlet-name-uniqueness">
132 <xsd:annotation>
133 <xsd:documentation>
134
135 The servlet element contains the name of a servlet.
136 The name must be unique within the web application.
137
138 </xsd:documentation>
139 </xsd:annotation>
140 <xsd:selector xpath="javaee:servlet"/>
141 <xsd:field xpath="javaee:servlet-name"/>
142 </xsd:unique>
143
144 <xsd:unique name="web-app-filter-name-uniqueness">
145 <xsd:annotation>
146 <xsd:documentation>
147
148 The filter element contains the name of a filter.
149 The name must be unique within the web application.
150
151 </xsd:documentation>
152 </xsd:annotation>
153 <xsd:selector xpath="javaee:filter"/>
154 <xsd:field xpath="javaee:filter-name"/>
155 </xsd:unique>
156
157 <xsd:unique name="web-app-ejb-local-ref-name-uniqueness">
158 <xsd:annotation>
159 <xsd:documentation>
160
161 The ejb-local-ref-name element contains the name of an EJB
162 reference. The EJB reference is an entry in the web
163 application's environment and is relative to the
164 java:comp/env context. The name must be unique within
165 the web application.
166
167 It is recommended that name is prefixed with "ejb/".
168
169 </xsd:documentation>
170 </xsd:annotation>
171 <xsd:selector xpath="javaee:ejb-local-ref"/>
172 <xsd:field xpath="javaee:ejb-ref-name"/>
173 </xsd:unique>
174
175 <xsd:unique name="web-app-ejb-ref-name-uniqueness">
176 <xsd:annotation>
177 <xsd:documentation>
178
179 The ejb-ref-name element contains the name of an EJB
180 reference. The EJB reference is an entry in the web
181 application's environment and is relative to the
182 java:comp/env context. The name must be unique within
183 the web application.
184
185 It is recommended that name is prefixed with "ejb/".
186
187 </xsd:documentation>
188 </xsd:annotation>
189 <xsd:selector xpath="javaee:ejb-ref"/>
190 <xsd:field xpath="javaee:ejb-ref-name"/>
191 </xsd:unique>
192
193 <xsd:unique name="web-app-resource-env-ref-uniqueness">
194 <xsd:annotation>
195 <xsd:documentation>
196
197 The resource-env-ref-name element specifies the name of
198 a resource environment reference; its value is the
199 environment entry name used in the web application code.
200 The name is a JNDI name relative to the java:comp/env
201 context and must be unique within a web application.
202
203 </xsd:documentation>
204 </xsd:annotation>
205 <xsd:selector xpath="javaee:resource-env-ref"/>
206 <xsd:field xpath="javaee:resource-env-ref-name"/>
207 </xsd:unique>
208
209 <xsd:unique name="web-app-message-destination-ref-uniqueness">
210 <xsd:annotation>
211 <xsd:documentation>
212
213 The message-destination-ref-name element specifies the name of
214 a message destination reference; its value is the
215 environment entry name used in the web application code.
216 The name is a JNDI name relative to the java:comp/env
217 context and must be unique within a web application.
218
219 </xsd:documentation>
220 </xsd:annotation>
221 <xsd:selector xpath="javaee:message-destination-ref"/>
222 <xsd:field xpath="javaee:message-destination-ref-name"/>
223 </xsd:unique>
224
225 <xsd:unique name="web-app-res-ref-name-uniqueness">
226 <xsd:annotation>
227 <xsd:documentation>
228
229 The res-ref-name element specifies the name of a
230 resource manager connection factory reference. The name
231 is a JNDI name relative to the java:comp/env context.
232 The name must be unique within a web application.
233
234 </xsd:documentation>
235 </xsd:annotation>
236 <xsd:selector xpath="javaee:resource-ref"/>
237 <xsd:field xpath="javaee:res-ref-name"/>
238 </xsd:unique>
239
240 <xsd:unique name="web-app-env-entry-name-uniqueness">
241 <xsd:annotation>
242 <xsd:documentation>
243
244 The env-entry-name element contains the name of a web
245 application's environment entry. The name is a JNDI
246 name relative to the java:comp/env context. The name
247 must be unique within a web application.
248
249 </xsd:documentation>
250 </xsd:annotation>
251
252 <xsd:selector xpath="javaee:env-entry"/>
253 <xsd:field xpath="javaee:env-entry-name"/>
254 </xsd:unique>
255
256 <xsd:key name="web-app-role-name-key">
257 <xsd:annotation>
258 <xsd:documentation>
259
260 A role-name-key is specified to allow the references
261 from the security-role-refs.
262
263 </xsd:documentation>
264 </xsd:annotation>
265 <xsd:selector xpath="javaee:security-role"/>
266 <xsd:field xpath="javaee:role-name"/>
267 </xsd:key>
268
269 <xsd:keyref name="web-app-role-name-references"
270 refer="javaee:web-app-role-name-key">
271 <xsd:annotation>
272 <xsd:documentation>
273
274 The keyref indicates the references from
275 security-role-ref to a specified role-name.
276
277 </xsd:documentation>
278 </xsd:annotation>
279 <xsd:selector xpath="javaee:servlet/javaee:security-role-ref"/>
280 <xsd:field xpath="javaee:role-link"/>
281 </xsd:keyref>
282 </xsd:element>
283
284
285<!-- **************************************************** -->
286
287 <xsd:complexType name="auth-constraintType">
288 <xsd:annotation>
289 <xsd:documentation>
290
291 The auth-constraintType indicates the user roles that
292 should be permitted access to this resource
293 collection. The role-name used here must either correspond
294 to the role-name of one of the security-role elements
295 defined for this web application, or be the specially
296 reserved role-name "*" that is a compact syntax for
297 indicating all roles in the web application. If both "*"
298 and rolenames appear, the container interprets this as all
299 roles. If no roles are defined, no user is allowed access
300 to the portion of the web application described by the
301 containing security-constraint. The container matches
302 role names case sensitively when determining access.
303
304 </xsd:documentation>
305 </xsd:annotation>
306
307 <xsd:sequence>
308 <xsd:element name="description"
309 type="javaee:descriptionType"
310 minOccurs="0" maxOccurs="unbounded"/>
311 <xsd:element name="role-name"
312 type="javaee:role-nameType"
313 minOccurs="0" maxOccurs="unbounded"/>
314 </xsd:sequence>
315 <xsd:attribute name="id" type="xsd:ID"/>
316 </xsd:complexType>
317
318<!-- **************************************************** -->
319
320 <xsd:complexType name="auth-methodType">
321 <xsd:annotation>
322 <xsd:documentation>
323
324 The auth-methodType is used to configure the authentication
325 mechanism for the web application. As a prerequisite to
326 gaining access to any web resources which are protected by
327 an authorization constraint, a user must have authenticated
328 using the configured mechanism. Legal values are "BASIC",
329 "DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific
330 authentication scheme.
331
332 Used in: login-config
333
334 </xsd:documentation>
335 </xsd:annotation>
336
337 <xsd:simpleContent>
338 <xsd:restriction base="javaee:string"/>
339 </xsd:simpleContent>
340 </xsd:complexType>
341
342<!-- **************************************************** -->
343
344 <xsd:complexType name="dispatcherType">
345 <xsd:annotation>
346 <xsd:documentation>
347
348 The dispatcher has four legal values: FORWARD, REQUEST, INCLUDE,
349 and ERROR. A value of FORWARD means the Filter will be applied
350 under RequestDispatcher.forward() calls. A value of REQUEST
351 means the Filter will be applied under ordinary client calls to
352 the path or servlet. A value of INCLUDE means the Filter will be
353 applied under RequestDispatcher.include() calls. A value of
354 ERROR means the Filter will be applied under the error page
355 mechanism. The absence of any dispatcher elements in a
356 filter-mapping indicates a default of applying filters only under
357 ordinary client calls to the path or servlet.
358
359 </xsd:documentation>
360 </xsd:annotation>
361
362 <xsd:simpleContent>
363 <xsd:restriction base="javaee:string">
364 <xsd:enumeration value="FORWARD"/>
365 <xsd:enumeration value="INCLUDE"/>
366 <xsd:enumeration value="REQUEST"/>
367 <xsd:enumeration value="ERROR"/>
368 </xsd:restriction>
369 </xsd:simpleContent>
370 </xsd:complexType>
371
372<!-- **************************************************** -->
373
374 <xsd:simpleType name="encodingType">
375 <xsd:annotation>
376 <xsd:documentation>
377
378 The encodingType defines IANA character sets.
379
380 </xsd:documentation>
381 </xsd:annotation>
382
383 <xsd:restriction base="xsd:string">
384 <xsd:pattern value="[^\s]+"/>
385 </xsd:restriction>
386 </xsd:simpleType>
387
388<!-- **************************************************** -->
389
390 <xsd:complexType name="error-codeType">
391 <xsd:annotation>
392 <xsd:documentation>
393
394 The error-code contains an HTTP error code, ex: 404
395
396 Used in: error-page
397
398 </xsd:documentation>
399 </xsd:annotation>
400
401 <xsd:simpleContent>
402 <xsd:restriction base="javaee:xsdPositiveIntegerType">
403 <xsd:pattern value="\d{3}"/>
404 <xsd:attribute name="id" type="xsd:ID"/>
405 </xsd:restriction>
406 </xsd:simpleContent>
407 </xsd:complexType>
408
409<!-- **************************************************** -->
410
411 <xsd:complexType name="error-pageType">
412 <xsd:annotation>
413 <xsd:documentation>
414
415 The error-pageType contains a mapping between an error code
416 or exception type to the path of a resource in the web
417 application.
418
419 Used in: web-app
420
421 </xsd:documentation>
422 </xsd:annotation>
423
424 <xsd:sequence>
425 <xsd:choice>
426 <xsd:element name="error-code"
427 type="javaee:error-codeType"/>
428
429 <xsd:element name="exception-type"
430 type="javaee:fully-qualified-classType">
431 <xsd:annotation>
432 <xsd:documentation>
433
434 The exception-type contains a fully qualified class
435 name of a Java exception type.
436
437 </xsd:documentation>
438 </xsd:annotation>
439 </xsd:element>
440 </xsd:choice>
441
442 <xsd:element name="location"
443 type="javaee:war-pathType">
444 <xsd:annotation>
445 <xsd:documentation>
446
447 The location element contains the location of the
448 resource in the web application relative to the root of
449 the web application. The value of the location must have
450 a leading `/'.
451
452 </xsd:documentation>
453 </xsd:annotation>
454 </xsd:element>
455 </xsd:sequence>
456 <xsd:attribute name="id" type="xsd:ID"/>
457 </xsd:complexType>
458
459<!-- **************************************************** -->
460
461 <xsd:complexType name="filter-mappingType">
462 <xsd:annotation>
463 <xsd:documentation>
464
465 Declaration of the filter mappings in this web
466 application is done by using filter-mappingType.
467 The container uses the filter-mapping
468 declarations to decide which filters to apply to a request,
469 and in what order. The container matches the request URI to
470 a Servlet in the normal way. To determine which filters to
471 apply it matches filter-mapping declarations either on
472 servlet-name, or on url-pattern for each filter-mapping
473 element, depending on which style is used. The order in
474 which filters are invoked is the order in which
475 filter-mapping declarations that match a request URI for a
476 servlet appear in the list of filter-mapping elements.The
477 filter-name value must be the value of the filter-name
478 sub-elements of one of the filter declarations in the
479 deployment descriptor.
480
481 </xsd:documentation>
482 </xsd:annotation>
483
484 <xsd:sequence>
485 <xsd:element name="filter-name"
486 type="javaee:filter-nameType"/>
487 <xsd:choice minOccurs="1" maxOccurs="unbounded">
488 <xsd:element name="url-pattern"
489 type="javaee:url-patternType"/>
490 <xsd:element name="servlet-name"
491 type="javaee:servlet-nameType"/>
492 </xsd:choice>
493 <xsd:element name="dispatcher"
494 type="javaee:dispatcherType"
495 minOccurs="0" maxOccurs="4"/>
496 </xsd:sequence>
497 <xsd:attribute name="id" type="xsd:ID"/>
498 </xsd:complexType>
499
500<!-- **************************************************** -->
501
502 <xsd:complexType name="filter-nameType">
503 <xsd:annotation>
504 <xsd:documentation>
505
506 The logical name of the filter is declare
507 by using filter-nameType. This name is used to map the
508 filter. Each filter name is unique within the web
509 application.
510
511 Used in: filter, filter-mapping
512
513 </xsd:documentation>
514 </xsd:annotation>
515
516 <xsd:simpleContent>
517 <xsd:extension base="javaee:nonEmptyStringType"/>
518 </xsd:simpleContent>
519 </xsd:complexType>
520
521<!-- **************************************************** -->
522
523 <xsd:complexType name="filterType">
524 <xsd:annotation>
525 <xsd:documentation>
526
527 The filterType is used to declare a filter in the web
528 application. The filter is mapped to either a servlet or a
529 URL pattern in the filter-mapping element, using the
530 filter-name value to reference. Filters can access the
531 initialization parameters declared in the deployment
532 descriptor at runtime via the FilterConfig interface.
533
534 Used in: web-app
535
536 </xsd:documentation>
537 </xsd:annotation>
538
539 <xsd:sequence>
540 <xsd:group ref="javaee:descriptionGroup"/>
541 <xsd:element name="filter-name"
542 type="javaee:filter-nameType"/>
543 <xsd:element name="filter-class"
544 type="javaee:fully-qualified-classType">
545 <xsd:annotation>
546 <xsd:documentation>
547
548 The fully qualified classname of the filter.
549
550 </xsd:documentation>
551 </xsd:annotation>
552 </xsd:element>
553
554 <xsd:element name="init-param"
555 type="javaee:param-valueType"
556 minOccurs="0" maxOccurs="unbounded">
557 <xsd:annotation>
558 <xsd:documentation>
559
560 The init-param element contains a name/value pair as
561 an initialization param of a servlet filter
562
563 </xsd:documentation>
564 </xsd:annotation>
565 </xsd:element>
566 </xsd:sequence>
567 <xsd:attribute name="id" type="xsd:ID"/>
568 </xsd:complexType>
569
570<!-- **************************************************** -->
571
572 <xsd:complexType name="form-login-configType">
573 <xsd:annotation>
574 <xsd:documentation>
575
576 The form-login-configType specifies the login and error
577 pages that should be used in form based login. If form based
578 authentication is not used, these elements are ignored.
579
580 Used in: login-config
581
582 </xsd:documentation>
583 </xsd:annotation>
584
585 <xsd:sequence>
586
587 <xsd:element name="form-login-page"
588 type="javaee:war-pathType">
589 <xsd:annotation>
590 <xsd:documentation>
591
592 The form-login-page element defines the location in the web
593 app where the page that can be used for login can be
594 found. The path begins with a leading / and is interpreted
595 relative to the root of the WAR.
596
597 </xsd:documentation>
598 </xsd:annotation>
599 </xsd:element>
600
601 <xsd:element name="form-error-page"
602 type="javaee:war-pathType">
603 <xsd:annotation>
604 <xsd:documentation>
605
606 The form-error-page element defines the location in
607 the web app where the error page that is displayed
608 when login is not successful can be found.
609 The path begins with a leading / and is interpreted
610 relative to the root of the WAR.
611
612 </xsd:documentation>
613 </xsd:annotation>
614 </xsd:element>
615
616 </xsd:sequence>
617 <xsd:attribute name="id" type="xsd:ID"/>
618 </xsd:complexType>
619
620<!-- **************************************************** -->
621
622 <xsd:simpleType name="http-methodType">
623 <xsd:annotation>
624
625 <xsd:documentation>
626
627 A HTTP method type as defined in HTTP 1.1 section 2.2.
628
629 </xsd:documentation>
630 </xsd:annotation>
631
632 <xsd:restriction base="xsd:token">
633 <xsd:pattern value="[&#33;-&#126;-[\(\)&#60;&#62;@,;:&#34;/\[\]?=\{\}\\\p{Z}]]+"/>
634 </xsd:restriction>
635
636 </xsd:simpleType>
637
638<!-- **************************************************** -->
639
640 <xsd:simpleType name="load-on-startupType">
641 <xsd:union memberTypes="javaee:null-charType xsd:integer"/>
642 </xsd:simpleType>
643
644<!-- **************************************************** -->
645
646 <xsd:complexType name="locale-encoding-mapping-listType">
647 <xsd:annotation>
648 <xsd:documentation>
649
650 The locale-encoding-mapping-list contains one or more
651 locale-encoding-mapping(s).
652
653 </xsd:documentation>
654 </xsd:annotation>
655
656 <xsd:sequence>
657 <xsd:element name="locale-encoding-mapping"
658 type="javaee:locale-encoding-mappingType"
659 maxOccurs="unbounded"/>
660 </xsd:sequence>
661 <xsd:attribute name="id" type="xsd:ID"/>
662 </xsd:complexType>
663
664<!-- **************************************************** -->
665
666 <xsd:complexType name="locale-encoding-mappingType">
667 <xsd:annotation>
668 <xsd:documentation>
669
670 The locale-encoding-mapping contains locale name and
671 encoding name. The locale name must be either "Language-code",
672 such as "ja", defined by ISO-639 or "Language-code_Country-code",
673 such as "ja_JP". "Country code" is defined by ISO-3166.
674
675 </xsd:documentation>
676 </xsd:annotation>
677
678 <xsd:sequence>
679 <xsd:element name="locale"
680 type="javaee:localeType"/>
681 <xsd:element name="encoding"
682 type="javaee:encodingType"/>
683 </xsd:sequence>
684 <xsd:attribute name="id" type="xsd:ID"/>
685 </xsd:complexType>
686
687<!-- **************************************************** -->
688
689 <xsd:simpleType name="localeType">
690 <xsd:annotation>
691 <xsd:documentation>
692
693 The localeType defines valid locale defined by ISO-639-1
694 and ISO-3166.
695
696 </xsd:documentation>
697 </xsd:annotation>
698
699 <xsd:restriction base="xsd:string">
700 <xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?"/>
701 </xsd:restriction>
702 </xsd:simpleType>
703
704<!-- **************************************************** -->
705
706 <xsd:complexType name="login-configType">
707 <xsd:annotation>
708 <xsd:documentation>
709
710 The login-configType is used to configure the authentication
711 method that should be used, the realm name that should be
712 used for this application, and the attributes that are
713 needed by the form login mechanism.
714
715 Used in: web-app
716
717 </xsd:documentation>
718 </xsd:annotation>
719
720 <xsd:sequence>
721 <xsd:element name="auth-method"
722 type="javaee:auth-methodType"
723 minOccurs="0"/>
724 <xsd:element name="realm-name"
725 type="javaee:string" minOccurs="0">
726 <xsd:annotation>
727 <xsd:documentation>
728
729 The realm name element specifies the realm name to
730 use in HTTP Basic authorization.
731
732 </xsd:documentation>
733 </xsd:annotation>
734 </xsd:element>
735 <xsd:element name="form-login-config"
736 type="javaee:form-login-configType"
737 minOccurs="0"/>
738 </xsd:sequence>
739 <xsd:attribute name="id" type="xsd:ID"/>
740 </xsd:complexType>
741
742<!-- **************************************************** -->
743
744 <xsd:complexType name="mime-mappingType">
745 <xsd:annotation>
746 <xsd:documentation>
747
748 The mime-mappingType defines a mapping between an extension
749 and a mime type.
750
751 Used in: web-app
752
753 </xsd:documentation>
754 </xsd:annotation>
755
756 <xsd:sequence>
757 <xsd:annotation>
758 <xsd:documentation>
759
760 The extension element contains a string describing an
761 extension. example: "txt"
762
763 </xsd:documentation>
764 </xsd:annotation>
765
766 <xsd:element name="extension"
767 type="javaee:string"/>
768 <xsd:element name="mime-type"
769 type="javaee:mime-typeType"/>
770 </xsd:sequence>
771 <xsd:attribute name="id" type="xsd:ID"/>
772 </xsd:complexType>
773
774<!-- **************************************************** -->
775
776 <xsd:complexType name="mime-typeType">
777 <xsd:annotation>
778 <xsd:documentation>
779
780 The mime-typeType is used to indicate a defined mime type.
781
782 Example:
783 "text/plain"
784
785 Used in: mime-mapping
786
787 </xsd:documentation>
788 </xsd:annotation>
789
790 <xsd:simpleContent>
791 <xsd:restriction base="javaee:string">
792 <xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/>
793 </xsd:restriction>
794 </xsd:simpleContent>
795 </xsd:complexType>
796
797<!-- **************************************************** -->
798
799 <xsd:complexType name="nonEmptyStringType">
800 <xsd:annotation>
801 <xsd:documentation>
802 This type defines a string which contains at least one
803 character.
804 </xsd:documentation>
805 </xsd:annotation>
806 <xsd:simpleContent>
807 <xsd:restriction base="javaee:string">
808 <xsd:minLength value="1"/>
809 </xsd:restriction>
810 </xsd:simpleContent>
811 </xsd:complexType>
812
813<!-- **************************************************** -->
814
815 <xsd:simpleType name="null-charType">
816 <xsd:restriction base="xsd:string">
817 <xsd:enumeration value=""/>
818 </xsd:restriction>
819 </xsd:simpleType>
820
821<!-- **************************************************** -->
822
823 <xsd:complexType name="security-constraintType">
824 <xsd:annotation>
825 <xsd:documentation>
826
827 The security-constraintType is used to associate
828 security constraints with one or more web resource
829 collections
830
831 Used in: web-app
832
833 </xsd:documentation>
834 </xsd:annotation>
835
836 <xsd:sequence>
837 <xsd:element name="display-name"
838 type="javaee:display-nameType"
839 minOccurs="0"
840 maxOccurs="unbounded"/>
841 <xsd:element name="web-resource-collection"
842 type="javaee:web-resource-collectionType"
843 maxOccurs="unbounded"/>
844 <xsd:element name="auth-constraint"
845 type="javaee:auth-constraintType"
846 minOccurs="0"/>
847 <xsd:element name="user-data-constraint"
848 type="javaee:user-data-constraintType"
849 minOccurs="0"/>
850 </xsd:sequence>
851 <xsd:attribute name="id" type="xsd:ID"/>
852 </xsd:complexType>
853
854<!-- **************************************************** -->
855
856 <xsd:complexType name="servlet-mappingType">
857 <xsd:annotation>
858 <xsd:documentation>
859
860 The servlet-mappingType defines a mapping between a
861 servlet and a url pattern.
862
863 Used in: web-app
864
865 </xsd:documentation>
866 </xsd:annotation>
867
868 <xsd:sequence>
869 <xsd:element name="servlet-name"
870 type="javaee:servlet-nameType"/>
871 <xsd:element name="url-pattern"
872 type="javaee:url-patternType"
873 minOccurs="1" maxOccurs="unbounded"/>
874 </xsd:sequence>
875 <xsd:attribute name="id" type="xsd:ID"/>
876 </xsd:complexType>
877
878<!-- **************************************************** -->
879
880 <xsd:complexType name="servlet-nameType">
881 <xsd:annotation>
882 <xsd:documentation>
883
884 The servlet-name element contains the canonical name of the
885 servlet. Each servlet name is unique within the web
886 application.
887 The special servlet name of "*" may be used to reference all
888 servlets.
889
890 </xsd:documentation>
891 </xsd:annotation>
892
893 <xsd:simpleContent>
894 <xsd:extension base="javaee:nonEmptyStringType"/>
895 </xsd:simpleContent>
896 </xsd:complexType>
897
898<!-- **************************************************** -->
899
900 <xsd:complexType name="servletType">
901 <xsd:annotation>
902 <xsd:documentation>
903
904 The servletType is used to declare a servlet.
905 It contains the declarative data of a
906 servlet. If a jsp-file is specified and the load-on-startup
907 element is present, then the JSP should be precompiled and
908 loaded.
909
910 Used in: web-app
911
912 </xsd:documentation>
913 </xsd:annotation>
914
915 <xsd:sequence>
916 <xsd:group ref="javaee:descriptionGroup"/>
917 <xsd:element name="servlet-name"
918 type="javaee:servlet-nameType"/>
919 <xsd:choice>
920 <xsd:element name="servlet-class"
921 type="javaee:fully-qualified-classType">
922 <xsd:annotation>
923 <xsd:documentation>
924
925 The servlet-class element contains the fully
926 qualified class name of the servlet.
927
928 </xsd:documentation>
929 </xsd:annotation>
930 </xsd:element>
931
932 <xsd:element name="jsp-file"
933 type="javaee:jsp-fileType"/>
934
935 </xsd:choice>
936
937 <xsd:element name="init-param"
938 type="javaee:param-valueType"
939 minOccurs="0" maxOccurs="unbounded"/>
940 <xsd:element name="load-on-startup"
941 type="javaee:load-on-startupType"
942 minOccurs="0">
943 <xsd:annotation>
944 <xsd:documentation>
945
946 The load-on-startup element indicates that this
947 servlet should be loaded (instantiated and have
948 its init() called) on the startup of the web
949 application. The optional contents of these
950 element must be an integer indicating the order in
951 which the servlet should be loaded. If the value
952 is a negative integer, or the element is not
953 present, the container is free to load the servlet
954 whenever it chooses. If the value is a positive
955 integer or 0, the container must load and
956 initialize the servlet as the application is
957 deployed. The container must guarantee that
958 servlets marked with lower integers are loaded
959 before servlets marked with higher integers. The
960 container may choose the order of loading of
961 servlets with the same load-on-start-up value.
962
963 </xsd:documentation>
964 </xsd:annotation>
965 </xsd:element>
966 <xsd:element name="run-as"
967 type="javaee:run-asType"
968 minOccurs="0"/>
969 <xsd:element name="security-role-ref"
970 type="javaee:security-role-refType"
971 minOccurs="0" maxOccurs="unbounded"/>
972 </xsd:sequence>
973 <xsd:attribute name="id" type="xsd:ID"/>
974 </xsd:complexType>
975
976<!-- **************************************************** -->
977
978 <xsd:complexType name="session-configType">
979 <xsd:annotation>
980 <xsd:documentation>
981
982 The session-configType defines the session parameters
983 for this web application.
984
985 Used in: web-app
986
987 </xsd:documentation>
988 </xsd:annotation>
989
990 <xsd:sequence>
991 <xsd:element name="session-timeout"
992 type="javaee:xsdIntegerType"
993 minOccurs="0">
994 <xsd:annotation>
995 <xsd:documentation>
996
997 The session-timeout element defines the default
998 session timeout interval for all sessions created
999 in this web application. The specified timeout
1000 must be expressed in a whole number of minutes.
1001 If the timeout is 0 or less, the container ensures
1002 the default behaviour of sessions is never to time
1003 out. If this element is not specified, the container
1004 must set its default timeout period.
1005
1006 </xsd:documentation>
1007 </xsd:annotation>
1008 </xsd:element>
1009 </xsd:sequence>
1010 <xsd:attribute name="id" type="xsd:ID"/>
1011 </xsd:complexType>
1012
1013<!-- **************************************************** -->
1014
1015 <xsd:complexType name="transport-guaranteeType">
1016 <xsd:annotation>
1017 <xsd:documentation>
1018
1019 The transport-guaranteeType specifies that the communication
1020 between client and server should be NONE, INTEGRAL, or
1021 CONFIDENTIAL. NONE means that the application does not
1022 require any transport guarantees. A value of INTEGRAL means
1023 that the application requires that the data sent between the
1024 client and server be sent in such a way that it can't be
1025 changed in transit. CONFIDENTIAL means that the application
1026 requires that the data be transmitted in a fashion that
1027 prevents other entities from observing the contents of the
1028 transmission. In most cases, the presence of the INTEGRAL or
1029 CONFIDENTIAL flag will indicate that the use of SSL is
1030 required.
1031
1032 Used in: user-data-constraint
1033
1034 </xsd:documentation>
1035 </xsd:annotation>
1036
1037 <xsd:simpleContent>
1038 <xsd:restriction base="javaee:string">
1039 <xsd:enumeration value="NONE"/>
1040 <xsd:enumeration value="INTEGRAL"/>
1041 <xsd:enumeration value="CONFIDENTIAL"/>
1042 </xsd:restriction>
1043 </xsd:simpleContent>
1044 </xsd:complexType>
1045
1046<!-- **************************************************** -->
1047
1048 <xsd:complexType name="user-data-constraintType">
1049 <xsd:annotation>
1050 <xsd:documentation>
1051
1052 The user-data-constraintType is used to indicate how
1053 data communicated between the client and container should be
1054 protected.
1055
1056 Used in: security-constraint
1057
1058 </xsd:documentation>
1059 </xsd:annotation>
1060
1061 <xsd:sequence>
1062 <xsd:element name="description"
1063 type="javaee:descriptionType"
1064 minOccurs="0"
1065 maxOccurs="unbounded"/>
1066 <xsd:element name="transport-guarantee"
1067 type="javaee:transport-guaranteeType"/>
1068 </xsd:sequence>
1069 <xsd:attribute name="id" type="xsd:ID"/>
1070 </xsd:complexType>
1071
1072<!-- **************************************************** -->
1073
1074 <xsd:complexType name="war-pathType">
1075 <xsd:annotation>
1076 <xsd:documentation>
1077
1078 The elements that use this type designate a path starting
1079 with a "/" and interpreted relative to the root of a WAR
1080 file.
1081
1082 </xsd:documentation>
1083 </xsd:annotation>
1084 <xsd:simpleContent>
1085 <xsd:restriction base="javaee:string">
1086 <xsd:pattern value="/.*"/>
1087 </xsd:restriction>
1088 </xsd:simpleContent>
1089 </xsd:complexType>
1090
1091<!-- **************************************************** -->
1092
1093 <xsd:simpleType name="web-app-versionType">
1094 <xsd:annotation>
1095 <xsd:documentation>
1096
1097 This type contains the recognized versions of
1098 web-application supported. It is used to designate the
1099 version of the web application.
1100
1101 </xsd:documentation>
1102 </xsd:annotation>
1103 <xsd:restriction base="xsd:token">
1104 <xsd:enumeration value="2.5"/>
1105 </xsd:restriction>
1106 </xsd:simpleType>
1107
1108<!-- **************************************************** -->
1109
1110 <xsd:complexType name="web-appType">
1111
1112 <xsd:choice minOccurs="0" maxOccurs="unbounded">
1113 <xsd:group ref="javaee:descriptionGroup"/>
1114 <xsd:element name="distributable"
1115 type="javaee:emptyType"/>
1116 <xsd:element name="context-param"
1117 type="javaee:param-valueType">
1118
1119 <xsd:annotation>
1120 <xsd:documentation>
1121
1122 The context-param element contains the declaration
1123 of a web application's servlet context
1124 initialization parameters.
1125
1126 </xsd:documentation>
1127 </xsd:annotation>
1128 </xsd:element>
1129
1130 <xsd:element name="filter"
1131 type="javaee:filterType"/>
1132 <xsd:element name="filter-mapping"
1133 type="javaee:filter-mappingType"/>
1134 <xsd:element name="listener"
1135 type="javaee:listenerType"/>
1136 <xsd:element name="servlet"
1137 type="javaee:servletType"/>
1138 <xsd:element name="servlet-mapping"
1139 type="javaee:servlet-mappingType"/>
1140 <xsd:element name="session-config"
1141 type="javaee:session-configType"/>
1142 <xsd:element name="mime-mapping"
1143 type="javaee:mime-mappingType"/>
1144 <xsd:element name="welcome-file-list"
1145 type="javaee:welcome-file-listType"/>
1146 <xsd:element name="error-page"
1147 type="javaee:error-pageType"/>
1148 <xsd:element name="jsp-config"
1149 type="javaee:jsp-configType"/>
1150 <xsd:element name="security-constraint"
1151 type="javaee:security-constraintType"/>
1152 <xsd:element name="login-config"
1153 type="javaee:login-configType"/>
1154 <xsd:element name="security-role"
1155 type="javaee:security-roleType"/>
1156 <xsd:group ref="javaee:jndiEnvironmentRefsGroup"/>
1157 <xsd:element name="message-destination"
1158 type="javaee:message-destinationType"/>
1159 <xsd:element name="locale-encoding-mapping-list"
1160 type="javaee:locale-encoding-mapping-listType"/>
1161 </xsd:choice>
1162
1163 <xsd:attribute name="version"
1164 type="javaee:web-app-versionType"
1165 use="required"/>
1166 <xsd:attribute name="id" type="xsd:ID"/>
1167
1168 <xsd:attribute name="metadata-complete" type="xsd:boolean">
1169 <xsd:annotation>
1170 <xsd:documentation>
1171
1172 The metadata-complete attribute defines whether this
1173 deployment descriptor and other related deployment
1174 descriptors for this module (e.g., web service
1175 descriptors) are complete, or whether the class
1176 files available to this module and packaged with
1177 this application should be examined for annotations
1178 that specify deployment information.
1179
1180 If metadata-complete is set to "true", the deployment
1181 tool must ignore any annotations that specify deployment
1182 information, which might be present in the class files
1183 of the application.
1184
1185 If metadata-complete is not specified or is set to
1186 "false", the deployment tool must examine the class
1187 files of the application for annotations, as
1188 specified by the specifications.
1189
1190 </xsd:documentation>
1191 </xsd:annotation>
1192 </xsd:attribute>
1193
1194 </xsd:complexType>
1195
1196<!-- **************************************************** -->
1197
1198 <xsd:complexType name="web-resource-collectionType">
1199 <xsd:annotation>
1200 <xsd:documentation>
1201
1202 The web-resource-collectionType is used to identify a subset
1203 of the resources and HTTP methods on those resources within
1204 a web application to which a security constraint applies. If
1205 no HTTP methods are specified, then the security constraint
1206 applies to all HTTP methods.
1207
1208 Used in: security-constraint
1209
1210 </xsd:documentation>
1211 </xsd:annotation>
1212
1213 <xsd:sequence>
1214 <xsd:element name="web-resource-name"
1215 type="javaee:string">
1216 <xsd:annotation>
1217 <xsd:documentation>
1218
1219 The web-resource-name contains the name of this web
1220 resource collection.
1221
1222 </xsd:documentation>
1223 </xsd:annotation>
1224 </xsd:element>
1225 <xsd:element name="description"
1226 type="javaee:descriptionType"
1227 minOccurs="0"
1228 maxOccurs="unbounded"/>
1229 <xsd:element name="url-pattern"
1230 type="javaee:url-patternType"
1231 maxOccurs="unbounded"/>
1232 <xsd:element name="http-method"
1233 type="javaee:http-methodType"
1234 minOccurs="0" maxOccurs="unbounded"/>
1235 </xsd:sequence>
1236 <xsd:attribute name="id" type="xsd:ID"/>
1237 </xsd:complexType>
1238
1239<!-- **************************************************** -->
1240
1241 <xsd:complexType name="welcome-file-listType">
1242 <xsd:annotation>
1243 <xsd:documentation>
1244
1245 The welcome-file-list contains an ordered list of welcome
1246 files elements.
1247
1248 Used in: web-app
1249
1250 </xsd:documentation>
1251 </xsd:annotation>
1252
1253 <xsd:sequence>
1254 <xsd:element name="welcome-file"
1255 type="xsd:string"
1256 maxOccurs="unbounded">
1257 <xsd:annotation>
1258 <xsd:documentation>
1259
1260 The welcome-file element contains file name to use
1261 as a default welcome file, such as index.html
1262
1263 </xsd:documentation>
1264 </xsd:annotation>
1265 </xsd:element>
1266 </xsd:sequence>
1267 <xsd:attribute name="id" type="xsd:ID"/>
1268 </xsd:complexType>
1269
1270</xsd:schema>
1271