~hudson-ubuntu/+junk/hudson-winstone

« back to all changes in this revision

Viewing changes to src/conf/javax/servlet/resources/web-jsptaglibrary_2_0.xsd

  • Committer: James Page
  • Date: 2011-02-16 13:54:56 UTC
  • Revision ID: james.page@canonical.com-20110216135456-m2hlkk9blblou019
InitialĀ releaseĀ 

Show diffs side-by-side

added added

removed removed

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