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