blob: eb5864190fb1f775e3bacc75720760b5d296b9ca [file] [log] [blame]
david_williamse073de12007-04-28 04:01:44 +00001<?xml version="1.0" encoding="UTF-8"?>
2
3<xsd:schema
4 targetNamespace="http://java.sun.com/xml/ns/j2ee"
5 xmlns:j2ee="http://java.sun.com/xml/ns/j2ee"
6 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
7 xmlns:xml="http://www.w3.org/XML/1998/namespace"
8 elementFormDefault="qualified"
9 attributeFormDefault="unqualified"
10 version="2.0">
11
12 <xsd:annotation>
13 <xsd:documentation>
14 @(#)web-jsptaglibrary_2_0.xsds 1.36 08/18/03
15 </xsd:documentation>
16 </xsd:annotation>
17
18 <xsd:annotation>
19 <xsd:documentation>
20
21 Copyright 2003 Sun Microsystems, Inc., 901 San Antonio
22 Road, Palo Alto, California 94303, U.S.A. All rights
23 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 JSP Taglibrary
58 descriptor. All Taglibrary descriptors must
59 indicate the tag library schema by using the Taglibrary
60 namespace:
61
62 http://java.sun.com/xml/ns/j2ee
63
64 and by indicating the version of the schema by
65 using the version element as shown below:
66
67 <taglib xmlns="http://java.sun.com/xml/ns/j2ee"
68 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
69 xsi:schemaLocation="..."
70 version="2.0">
71 ...
72 </taglib>
73
74 The instance documents may indicate the published
75 version of the schema using xsi:schemaLocation attribute
76 for J2EE namespace with the following location:
77
78 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd
79
80 ]]>
81 </xsd:documentation>
82 </xsd:annotation>
83
84 <xsd:include schemaLocation="j2ee_1_4.xsd"/>
85
86
87<!-- **************************************************** -->
88
89
90 <xsd:element name="taglib" type="j2ee:tldTaglibType">
91 <xsd:annotation>
92 <xsd:documentation>
93
94 The taglib tag is the document root.
95 The definition of taglib is provided
96 by the tldTaglibType.
97
98 </xsd:documentation>
99 </xsd:annotation>
100 <xsd:unique name="tag-name-uniqueness">
101 <xsd:annotation>
102 <xsd:documentation>
103
104 The taglib element contains, among other things, tag and
105 tag-file elements.
106 The name subelements of these elements must each be unique.
107
108 </xsd:documentation>
109 </xsd:annotation>
110 <xsd:selector xpath="j2ee:tag|j2ee:tag-file"/>
111 <xsd:field xpath="j2ee:name"/>
112 </xsd:unique>
113
114 <xsd:unique name="function-name-uniqueness">
115 <xsd:annotation>
116 <xsd:documentation>
117
118 The taglib element contains function elements.
119 The name subelements of these elements must each be unique.
120
121 </xsd:documentation>
122 </xsd:annotation>
123 <xsd:selector xpath="j2ee:function"/>
124 <xsd:field xpath="j2ee:name"/>
125 </xsd:unique>
126
127 </xsd:element>
128
129
130<!-- **************************************************** -->
131
132 <xsd:complexType name="body-contentType">
133 <xsd:annotation>
134 <xsd:documentation>
135
136 Specifies the type of body that is valid for a tag.
137 This value is used by the JSP container to validate
138 that a tag invocation has the correct body syntax and
139 by page composition tools to assist the page author
140 in providing a valid tag body.
141
142 There are currently four values specified:
143
144 tagdependent The body of the tag is interpreted by the tag
145 implementation itself, and is most likely
146 in a different "language", e.g embedded SQL
147 statements.
148
149 JSP The body of the tag contains nested JSP
150 syntax.
151
152 empty The body must be empty
153
154 scriptless The body accepts only template text, EL
155 Expressions, and JSP action elements. No
156 scripting elements are allowed.
157
158 </xsd:documentation>
159 </xsd:annotation>
160
161 <xsd:simpleContent>
162 <xsd:restriction base="j2ee:string">
163 <xsd:enumeration value="tagdependent"/>
164 <xsd:enumeration value="JSP"/>
165 <xsd:enumeration value="empty"/>
166 <xsd:enumeration value="scriptless"/>
167 </xsd:restriction>
168 </xsd:simpleContent>
169 </xsd:complexType>
170
171<!-- **************************************************** -->
172
173 <xsd:complexType name="extensibleType" abstract="true">
174 <xsd:annotation>
175 <xsd:documentation>
176
177 The extensibleType is an abstract base type that is used to
178 define the type of extension-elements. Instance documents
179 must substitute a known type to define the extension by
180 using xsi:type attribute to define the actual type of
181 extension-elements.
182
183 </xsd:documentation>
184 </xsd:annotation>
185 <xsd:attribute name="id" type="xsd:ID"/>
186 </xsd:complexType>
187
188<!-- **************************************************** -->
189
190 <xsd:complexType name="functionType">
191 <xsd:annotation>
192 <xsd:documentation>
193
194 The function element is used to provide information on each
195 function in the tag library that is to be exposed to the EL.
196
197 The function element may have several subelements defining:
198
199 description Optional tag-specific information
200
201 display-name A short name that is intended to be
202 displayed by tools
203
204 icon Optional icon element that can be used
205 by tools
206
207 name A unique name for this function
208
209 function-class Provides the name of the Java class that
210 implements the function
211
212 function-signature Provides the signature, as in the Java
213 Language Specification, of the Java
214 method that is to be used to implement
215 the function.
216
217 example Optional informal description of an
218 example of a use of this function
219
220 function-extension Zero or more extensions that provide extra
221 information about this function, for tool
222 consumption
223
224 </xsd:documentation>
225 </xsd:annotation>
226
227 <xsd:sequence>
228 <xsd:group ref="j2ee:descriptionGroup"/>
229 <xsd:element name="name"
230 type="j2ee:tld-canonical-nameType">
231 <xsd:annotation>
232 <xsd:documentation>
233
234 A unique name for this function.
235
236 </xsd:documentation>
237 </xsd:annotation>
238 </xsd:element>
239 <xsd:element name="function-class"
240 type="j2ee:fully-qualified-classType">
241 <xsd:annotation>
242 <xsd:documentation>
243
244 Provides the fully-qualified class name of the Java
245 class containing the static method that implements
246 the function.
247
248 </xsd:documentation>
249 </xsd:annotation>
250
251 </xsd:element>
252 <xsd:element name="function-signature"
253 type="j2ee:string">
254 <xsd:annotation>
255 <xsd:documentation>
256
257 Provides the signature, of the static Java method that is
258 to be used to implement the function. The syntax of the
259 function-signature element is as follows:
260
261 FunctionSignature ::= ReturnType S MethodName S?
262 '(' S? Parameters? S? ')'
263
264 ReturnType ::= Type
265
266 MethodName ::= Identifier
267
268 Parameters ::= Parameter
269 | ( Parameter S? ',' S? Parameters )
270
271 Parameter ::= Type
272
273 Where:
274
275 * Type is a basic type or a fully qualified Java class name
276 (including package name), as per the 'Type' production
277 in the Java Language Specification, Second Edition,
278 Chapter 18.
279
280 * Identifier is a Java identifier, as per the 'Identifier'
281 production in the Java Language Specification, Second
282 Edition, Chapter 18.
283
284 Example:
285
286 java.lang.String nickName( java.lang.String, int )
287
288 </xsd:documentation>
289 </xsd:annotation>
290
291 </xsd:element>
292 <xsd:element name="example"
293 type="j2ee:xsdStringType"
294 minOccurs="0">
295 <xsd:annotation>
296 <xsd:documentation>
297
298 The example element contains an informal description
299 of an example of the use of this function.
300
301 </xsd:documentation>
302 </xsd:annotation>
303
304 </xsd:element>
305 <xsd:element name="function-extension"
306 type="j2ee:tld-extensionType"
307 minOccurs="0"
308 maxOccurs="unbounded">
309 <xsd:annotation>
310 <xsd:documentation>
311
312 Function extensions are for tool use only and must not affect
313 the behavior of a container.
314
315 </xsd:documentation>
316 </xsd:annotation>
317 </xsd:element>
318 </xsd:sequence>
319 <xsd:attribute name="id" type="xsd:ID"/>
320 </xsd:complexType>
321
322<!-- **************************************************** -->
323
324 <xsd:complexType name="tagFileType">
325 <xsd:annotation>
326 <xsd:documentation>
327
328 Defines an action in this tag library that is implemented
329 as a .tag file.
330
331 The tag-file element has two required subelements:
332
333 description Optional tag-specific information
334
335 display-name A short name that is intended to be
336 displayed by tools
337
338 icon Optional icon element that can be used
339 by tools
340
341 name The unique action name
342
343 path Where to find the .tag file implementing this
344 action, relative to the root of the web
345 application or the root of the JAR file for a
346 tag library packaged in a JAR. This must
347 begin with /WEB-INF/tags if the .tag file
348 resides in the WAR, or /META-INF/tags if the
349 .tag file resides in a JAR.
350
351 example Optional informal description of an
352 example of a use of this tag
353
354 tag-extension Zero or more extensions that provide extra
355 information about this tag, for tool
356 consumption
357
358 </xsd:documentation>
359 </xsd:annotation>
360
361 <xsd:sequence>
362 <xsd:group ref="j2ee:descriptionGroup"/>
363 <xsd:element name="name"
364 type="j2ee:tld-canonical-nameType"/>
365 <xsd:element name="path"
366 type="j2ee:pathType"/>
367 <xsd:element name="example"
368 type="j2ee:xsdStringType"
369 minOccurs="0">
370 <xsd:annotation>
371 <xsd:documentation>
372
373 The example element contains an informal description
374 of an example of the use of a tag.
375
376 </xsd:documentation>
377 </xsd:annotation>
378
379 </xsd:element>
380 <xsd:element name="tag-extension"
381 type="j2ee:tld-extensionType"
382 minOccurs="0"
383 maxOccurs="unbounded">
384 <xsd:annotation>
385 <xsd:documentation>
386
387 Tag extensions are for tool use only and must not affect
388 the behavior of a container.
389
390 </xsd:documentation>
391 </xsd:annotation>
392 </xsd:element>
393 </xsd:sequence>
394 <xsd:attribute name="id" type="xsd:ID"/>
395 </xsd:complexType>
396
397<!-- **************************************************** -->
398
399 <xsd:complexType name="tagType">
400 <xsd:annotation>
401 <xsd:documentation>
402
403 The tag defines a unique tag in this tag library. It has one
404 attribute, id.
405
406 The tag element may have several subelements defining:
407
408 description Optional tag-specific information
409
410 display-name A short name that is intended to be
411 displayed by tools
412
413 icon Optional icon element that can be used
414 by tools
415
416 name The unique action name
417
418 tag-class The tag handler class implementing
419 javax.servlet.jsp.tagext.JspTag
420
421 tei-class An optional subclass of
422 javax.servlet.jsp.tagext.TagExtraInfo
423
424 body-content The body content type
425
426 variable Optional scripting variable information
427
428 attribute All attributes of this action that are
429 evaluated prior to invocation.
430
431 dynamic-attributes Whether this tag supports additional
432 attributes with dynamic names. If
433 true, the tag-class must implement the
434 javax.servlet.jsp.tagext.DynamicAttributes
435 interface. Defaults to false.
436
437 example Optional informal description of an
438 example of a use of this tag
439
440 tag-extension Zero or more extensions that provide extra
441 information about this tag, for tool
442 consumption
443
444 </xsd:documentation>
445 </xsd:annotation>
446
447 <xsd:sequence>
448 <xsd:group ref="j2ee:descriptionGroup"/>
449 <xsd:element name="name"
450 type="j2ee:tld-canonical-nameType"/>
451 <xsd:element name="tag-class"
452 type="j2ee:fully-qualified-classType">
453 <xsd:annotation>
454 <xsd:documentation>
455
456 Defines the subclass of javax.serlvet.jsp.tagext.JspTag
457 that implements the request time semantics for
458 this tag. (required)
459
460 </xsd:documentation>
461 </xsd:annotation>
462
463 </xsd:element>
464 <xsd:element name="tei-class"
465 type="j2ee:fully-qualified-classType"
466 minOccurs="0">
467 <xsd:annotation>
468 <xsd:documentation>
469
470 Defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo
471 for this tag. (optional)
472
473 If this is not given, the class is not consulted at
474 translation time.
475
476 </xsd:documentation>
477 </xsd:annotation>
478 </xsd:element>
479 <xsd:element name="body-content"
480 type="j2ee:body-contentType">
481 <xsd:annotation>
482 <xsd:documentation>
483
484 Specifies the format for the body of this tag.
485 The default in JSP 1.2 was "JSP" but because this
486 is an invalid setting for simple tag handlers, there
487 is no longer a default in JSP 2.0. A reasonable
488 default for simple tag handlers is "scriptless" if
489 the tag can have a body.
490
491 </xsd:documentation>
492 </xsd:annotation>
493 </xsd:element>
494 <xsd:element name="variable"
495 type="j2ee:variableType"
496 minOccurs="0" maxOccurs="unbounded"/>
497 <xsd:element name="attribute"
498 type="j2ee:tld-attributeType"
499 minOccurs="0" maxOccurs="unbounded"/>
500 <xsd:element name="dynamic-attributes"
501 type="j2ee:generic-booleanType"
502 minOccurs="0"/>
503 <xsd:element name="example"
504 type="j2ee:xsdStringType"
505 minOccurs="0">
506 <xsd:annotation>
507 <xsd:documentation>
508
509 The example element contains an informal description
510 of an example of the use of a tag.
511
512 </xsd:documentation>
513 </xsd:annotation>
514
515 </xsd:element>
516 <xsd:element name="tag-extension"
517 type="j2ee:tld-extensionType"
518 minOccurs="0"
519 maxOccurs="unbounded">
520 <xsd:annotation>
521 <xsd:documentation>
522
523 Tag extensions are for tool use only and must not affect
524 the behavior of a container.
525
526 </xsd:documentation>
527 </xsd:annotation>
528 </xsd:element>
529 </xsd:sequence>
530 <xsd:attribute name="id" type="xsd:ID"/>
531 </xsd:complexType>
532
533<!-- **************************************************** -->
534
535 <xsd:complexType name="tld-attributeType">
536 <xsd:annotation>
537 <xsd:documentation>
538
539 The attribute element defines an attribute for the nesting
540 tag. The attributre element may have several subelements
541 defining:
542
543 description a description of the attribute
544
545 name the name of the attribute
546
547 required whether the attribute is required or
548 optional
549
550 rtexprvalue whether the attribute is a runtime attribute
551
552 type the type of the attributes
553
554 fragment whether this attribute is a fragment
555
556 </xsd:documentation>
557 </xsd:annotation>
558 <xsd:sequence>
559 <xsd:element name="description"
560 type="j2ee:descriptionType"
561 minOccurs="0" maxOccurs="unbounded"/>
562 <xsd:element name="name"
563 type="j2ee:java-identifierType"/>
564 <xsd:element name="required"
565 type="j2ee:generic-booleanType"
566 minOccurs="0">
567 <xsd:annotation>
568 <xsd:documentation>
569
570 Defines if the nesting attribute is required or
571 optional.
572
573 If not present then the default is "false", i.e
574 the attribute is optional.
575
576 </xsd:documentation>
577 </xsd:annotation>
578 </xsd:element>
579
580 <xsd:choice>
581 <xsd:sequence>
582 <xsd:element name="rtexprvalue"
583 type="j2ee:generic-booleanType"
584 minOccurs="0">
585 <xsd:annotation>
586 <xsd:documentation>
587
588 Defines if the nesting attribute can have scriptlet
589 expressions as a value, i.e the value of the
590 attribute may be dynamically calculated at request
591 time, as opposed to a static value determined at
592 translation time.
593
594 If not present then the default is "false", i.e the
595 attribute has a static value
596
597 </xsd:documentation>
598 </xsd:annotation>
599
600 </xsd:element>
601 <xsd:element name="type"
602 type="j2ee:fully-qualified-classType"
603 minOccurs="0">
604 <xsd:annotation>
605 <xsd:documentation>
606
607 Defines the Java type of the attributes value. For
608 static values (those determined at translation time)
609 the type is always java.lang.String.
610
611 </xsd:documentation>
612 </xsd:annotation>
613 </xsd:element>
614 </xsd:sequence>
615 <xsd:element name="fragment"
616 type="j2ee:generic-booleanType"
617 minOccurs="0">
618 <xsd:annotation>
619 <xsd:documentation>
620
621 "true" if this attribute is of type
622 javax.jsp.tagext.JspFragment, representing dynamic
623 content that can be re-evaluated as many times
624 as needed by the tag handler. If omitted or "false",
625 the default is still type="java.lang.String"
626
627 </xsd:documentation>
628 </xsd:annotation>
629 </xsd:element>
630 </xsd:choice>
631 </xsd:sequence>
632 <xsd:attribute name="id" type="xsd:ID"/>
633 </xsd:complexType>
634
635<!-- **************************************************** -->
636
637 <xsd:complexType name="tld-canonical-nameType">
638
639 <xsd:annotation>
640 <xsd:documentation>
641
642 Defines the canonical name of a tag or attribute being
643 defined.
644
645 The name must conform to the lexical rules for an NMTOKEN.
646
647 </xsd:documentation>
648 </xsd:annotation>
649
650 <xsd:simpleContent>
651 <xsd:restriction base="j2ee:xsdNMTOKENType"/>
652 </xsd:simpleContent>
653 </xsd:complexType>
654
655<!-- **************************************************** -->
656
657 <xsd:complexType name="tld-extensionType">
658 <xsd:annotation>
659 <xsd:documentation>
660
661 The tld-extensionType is used to indicate
662 extensions to a specific TLD element.
663
664 It is used by elements to designate an extension block
665 that is targeted to a specific extension designated by
666 a set of extension elements that are declared by a
667 namespace. The namespace identifies the extension to
668 the tool that processes the extension.
669
670 The type of the extension-element is abstract. Therefore,
671 a concrete type must be specified by the TLD using
672 xsi:type attribute for each extension-element.
673
674 </xsd:documentation>
675 </xsd:annotation>
676
677 <xsd:sequence>
678 <xsd:element name="extension-element"
679 type="j2ee:extensibleType"
680 maxOccurs="unbounded"/>
681 </xsd:sequence>
682
683 <xsd:attribute name="namespace"
684 use="required"
685 type="xsd:anyURI"/>
686 <xsd:attribute name="id" type="xsd:ID"/>
687
688 </xsd:complexType>
689
690<!-- **************************************************** -->
691
692 <xsd:complexType name="tldTaglibType">
693 <xsd:annotation>
694 <xsd:documentation>
695
696 The taglib tag is the document root, it defines:
697
698 description a simple string describing the "use" of this taglib,
699 should be user discernable
700
701 display-name the display-name element contains a
702 short name that is intended to be displayed
703 by tools
704
705 icon optional icon that can be used by tools
706
707 tlib-version the version of the tag library implementation
708
709 short-name a simple default short name that could be
710 used by a JSP authoring tool to create
711 names with a mnemonic value; for example,
712 the it may be used as the prefered prefix
713 value in taglib directives
714
715 uri a uri uniquely identifying this taglib
716
717 validator optional TagLibraryValidator information
718
719 listener optional event listener specification
720
721 tag tags in this tag library
722
723 tag-file tag files in this tag library
724
725 function zero or more EL functions defined in this
726 tag library
727
728 taglib-extension zero or more extensions that provide extra
729 information about this taglib, for tool
730 consumption
731
732 </xsd:documentation>
733 </xsd:annotation>
734 <xsd:sequence>
735 <xsd:group ref="j2ee:descriptionGroup"/>
736 <xsd:element name="tlib-version"
737 type="j2ee:dewey-versionType">
738 <xsd:annotation>
739 <xsd:documentation>
740
741 Describes this version (number) of the taglibrary.
742 It is described as a dewey decimal.
743
744 </xsd:documentation>
745 </xsd:annotation>
746
747 </xsd:element>
748
749 <xsd:element name="short-name"
750 type="j2ee:tld-canonical-nameType">
751 <xsd:annotation>
752 <xsd:documentation>
753
754 Defines a simple default name that could be used by
755 a JSP authoring tool to create names with a
756 mnemonicvalue; for example, it may be used as the
757 preferred prefix value in taglib directives. Do
758 not use white space, and do not start with digits
759 or underscore.
760
761 </xsd:documentation>
762 </xsd:annotation>
763
764 </xsd:element>
765 <xsd:element name="uri"
766 type="j2ee:xsdAnyURIType"
767 minOccurs="0">
768 <xsd:annotation>
769 <xsd:documentation>
770
771 Defines a public URI that uniquely identifies this
772 version of the taglibrary. Leave it empty if it
773 does not apply.
774
775 </xsd:documentation>
776 </xsd:annotation>
777
778 </xsd:element>
779 <xsd:element name="validator"
780 type="j2ee:validatorType"
781 minOccurs="0">
782 </xsd:element>
783 <xsd:element name="listener"
784 type="j2ee:listenerType"
785 minOccurs="0" maxOccurs="unbounded">
786 </xsd:element>
787 <xsd:element name="tag"
788 type="j2ee:tagType"
789 minOccurs="0"
790 maxOccurs="unbounded"/>
791 <xsd:element name="tag-file"
792 type="j2ee:tagFileType"
793 minOccurs="0"
794 maxOccurs="unbounded"/>
795 <xsd:element name="function"
796 type="j2ee:functionType"
797 minOccurs="0"
798 maxOccurs="unbounded"/>
799 <xsd:element name="taglib-extension"
800 type="j2ee:tld-extensionType"
801 minOccurs="0"
802 maxOccurs="unbounded">
803 <xsd:annotation>
804 <xsd:documentation>
805
806 Taglib extensions are for tool use only and must not affect
807 the behavior of a container.
808
809 </xsd:documentation>
810 </xsd:annotation>
811 </xsd:element>
812 </xsd:sequence>
813 <xsd:attribute name="version"
814 type="j2ee:dewey-versionType"
815 fixed="2.0"
816 use="required">
817 <xsd:annotation>
818 <xsd:documentation>
819
820 Describes the JSP version (number) this taglibrary
821 requires in order to function (dewey decimal)
822
823 </xsd:documentation>
824 </xsd:annotation>
825
826 </xsd:attribute>
827 <xsd:attribute name="id" type="xsd:ID"/>
828 </xsd:complexType>
829
830<!-- **************************************************** -->
831
832 <xsd:complexType name="validatorType">
833 <xsd:annotation>
834 <xsd:documentation>
835
836 A validator that can be used to validate
837 the conformance of a JSP page to using this tag library is
838 defined by a validatorType.
839
840 </xsd:documentation>
841 </xsd:annotation>
842
843 <xsd:sequence>
844 <xsd:element name="description"
845 type="j2ee:descriptionType"
846 minOccurs="0"
847 maxOccurs="unbounded"/>
848 <xsd:element name="validator-class"
849 type="j2ee:fully-qualified-classType">
850 <xsd:annotation>
851 <xsd:documentation>
852
853 Defines the TagLibraryValidator class that can be used
854 to validate the conformance of a JSP page to using this
855 tag library.
856
857 </xsd:documentation>
858 </xsd:annotation>
859 </xsd:element>
860 <xsd:element name="init-param"
861 type="j2ee:param-valueType"
862 minOccurs="0" maxOccurs="unbounded">
863 <xsd:annotation>
864 <xsd:documentation>
865
866 The init-param element contains a name/value pair as an
867 initialization param.
868
869 </xsd:documentation>
870 </xsd:annotation>
871
872 </xsd:element>
873
874 </xsd:sequence>
875 <xsd:attribute name="id" type="xsd:ID"/>
876 </xsd:complexType>
877
878<!-- **************************************************** -->
879
880 <xsd:complexType name="variable-scopeType">
881 <xsd:annotation>
882 <xsd:documentation>
883
884 This type defines scope of the scripting variable. See
885 TagExtraInfo for details. The allowed values are,
886 "NESTED", "AT_BEGIN" and "AT_END".
887
888 </xsd:documentation>
889 </xsd:annotation>
890
891 <xsd:simpleContent>
892 <xsd:restriction base="j2ee:string">
893 <xsd:enumeration value="NESTED"/>
894 <xsd:enumeration value="AT_BEGIN"/>
895 <xsd:enumeration value="AT_END"/>
896 </xsd:restriction>
897 </xsd:simpleContent>
898 </xsd:complexType>
899
900<!-- **************************************************** -->
901
902 <xsd:complexType name="variableType">
903 <xsd:annotation>
904 <xsd:documentation>
905
906 The variableType provides information on the scripting
907 variables defined by using this tag. It is a (translation
908 time) error for a tag that has one or more variable
909 subelements to have a TagExtraInfo class that returns a
910 non-null value from a call to getVariableInfo().
911
912 The subelements of variableType are of the form:
913
914 description Optional description of this
915 variable
916
917 name-given The variable name as a constant
918
919 name-from-attribute The name of an attribute whose
920 (translation time) value will
921 give the name of the
922 variable. One of name-given or
923 name-from-attribute is required.
924
925 variable-class Name of the class of the variable.
926 java.lang.String is default.
927
928 declare Whether the variable is declared
929 or not. True is the default.
930
931 scope The scope of the scripting varaible
932 defined. NESTED is default.
933
934 </xsd:documentation>
935 </xsd:annotation>
936
937 <xsd:sequence>
938 <xsd:element name="description"
939 type="j2ee:descriptionType"
940 minOccurs="0" maxOccurs="unbounded"/>
941 <xsd:choice>
942 <xsd:element name="name-given"
943 type="j2ee:java-identifierType">
944 <xsd:annotation>
945 <xsd:documentation>
946
947 The name for the scripting variable.
948
949 </xsd:documentation>
950 </xsd:annotation>
951 </xsd:element>
952
953 <xsd:element name="name-from-attribute"
954 type="j2ee:java-identifierType">
955 <xsd:annotation>
956 <xsd:documentation>
957
958 The name of an attribute whose
959 (translation-time) value will give the name of
960 the variable.
961
962 </xsd:documentation>
963 </xsd:annotation>
964 </xsd:element>
965 </xsd:choice>
966 <xsd:element name="variable-class"
967 type="j2ee:fully-qualified-classType"
968 minOccurs="0">
969 <xsd:annotation>
970 <xsd:documentation>
971
972 The optional name of the class for the scripting
973 variable. The default is java.lang.String.
974
975 </xsd:documentation>
976 </xsd:annotation>
977
978 </xsd:element>
979
980 <xsd:element name="declare"
981 type="j2ee:generic-booleanType"
982 minOccurs="0">
983
984 <xsd:annotation>
985 <xsd:documentation>
986
987 Whether the scripting variable is to be defined
988 or not. See TagExtraInfo for details. This
989 element is optional and "true" is the default.
990
991 </xsd:documentation>
992 </xsd:annotation>
993 </xsd:element>
994 <xsd:element name="scope"
995 type="j2ee:variable-scopeType"
996 minOccurs="0">
997 <xsd:annotation>
998 <xsd:documentation>
999
1000 The element is optional and "NESTED" is the default.
1001
1002 </xsd:documentation>
1003 </xsd:annotation>
1004 </xsd:element>
1005 </xsd:sequence>
1006 <xsd:attribute name="id" type="xsd:ID"/>
1007 </xsd:complexType>
1008
1009</xsd:schema>
1010