blob: 602eb5c98e1757aa0e4c900d378161da412e47e7 [file] [log] [blame]
<!--
Copyright 2002 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
-->
<!--
This is the DTD defining the JavaServer Pages 1.2 Tag Library
descriptor (.tld) (XML) file format/syntax.
A Tag Library is a JAR file containing a valid instance of a Tag Library
Descriptor (taglib.tld) file in the META-INF subdirectory, along with the
appropriate implementing classes, and other resources required to
implement the tags defined therein.
Use is subject to license terms.
-->
<!NOTATION WEB-JSPTAGLIB.1_2 PUBLIC
"-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN">
<!--
This is the XML DTD for the JSP 1.2 Tag Library Descriptor.
All JSP 1.2 tag library descriptors must include a DOCTYPE
of the following form:
<!DOCTYPE taglib
PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
-->
<!--
The taglib tag is the document root, it defines:
tlib-version the version of the tag library implementation
jsp-version the version of JSP the tag library depends upon
short-name a simple default short name that could be used by
a JSP authoring tool to create names with a mnemonic
value; for example, the it may be used as the prefered
prefix value in taglib directives
uri a uri uniquely identifying this taglib
display-name the display-name element contains a short name that
is intended to be displayed by tools
small-icon optional small-icon that can be used by tools
large-icon optional large-icon that can be used by tools
description a simple string describing the "use" of this taglib,
should be user discernable
validator optional TagLibraryValidator information
listener optional event listener specification
-->
<!ELEMENT taglib (tlib-version, jsp-version, short-name, uri?,
display-name?, small-icon?, large-icon?, description?,
validator?, listener*, tag+) >
<!ATTLIST taglib id ID #IMPLIED
xmlns CDATA #FIXED
"http://java.sun.com/JSP/TagLibraryDescriptor"
>
<!--
Describes this version (number) of the taglibrary (dewey decimal)
#PCDATA ::= [0-9]*{ "."[0-9] }0..3
-->
<!ELEMENT tlib-version (#PCDATA) >
<!--
Describes the JSP version (number) this taglibrary requires in
order to function (dewey decimal)
The default is 1.2
#PCDATA ::= [0-9]*{ "."[0-9] }0..3
-->
<!ELEMENT jsp-version (#PCDATA) >
<!--
Defines a short (default) short-name to be used for tags and
variable names used/created by this tag library. Do not use
white space, and do not start with digits or underscore.
#PCDATA ::= NMTOKEN
-->
<!ELEMENT short-name (#PCDATA) >
<!--
Defines a public URI that uniquely identifies this version of
the taglibrary. Leave it empty if it does not apply.
-->
<!ELEMENT uri (#PCDATA) >
<!--
Defines an arbitrary text string descirbing the tag library
-->
<!ELEMENT description (#PCDATA) >
<!--
Defines an optional validator that can be used to
validate the conformance of a JSP page to using this tag library.
-->
<!ELEMENT validator (validator-class, init-param*, description?) >
<!--
Defines the TagLibraryValidator class that can be used to
validate the conformance of a JSP page to using this tag library.
-->
<!ELEMENT validator-class (#PCDATA) >
<!--
The init-param element contains a name/value pair as an
initialization param
-->
<!ELEMENT init-param (param-name, param-value, description?)>
<!--
The param-name element contains the name of a parameter.
-->
<!ELEMENT param-name (#PCDATA)>
<!--
The param-value element contains the value of a parameter.
-->
<!ELEMENT param-value (#PCDATA)>
<!--
Defines an optional event listener object to be instantiated and
registered automatically.
-->
<!ELEMENT listener (listener-class) >
<!--
The listener-class element declares a class in the application that
must be registered as a web application listener bean. See the
Servlet 2.3 specification for details.
-->
<!ELEMENT listener-class (#PCDATA) >
<!--
The tag defines a unique tag in this tag library. It has one
attribute, id.
The tag element may have several subelements defining:
name The unique action name
tag-class The tag handler class implementing
javax.servlet.jsp.tagext.Tag
tei-class An optional subclass of
javax.servlet.jsp.tagext.TagExtraInfo
body-content The body content type
display-name A short name that is intended to be displayed
by tools
small-icon Optional small-icon that can be used by tools
large-icon Optional large-icon that can be used by tools
description Optional tag-specific information
variable Optional scripting variable information
attribute All attributes of this action
example Optional informal description of an example of a
use of this tag
-->
<!ELEMENT tag (name, tag-class, tei-class?, body-content?, display-name?,
small-icon?, large-icon?, description?, variable*, attribute*,
example?) >
<!--
Defines the subclass of javax.serlvet.jsp.tagext.Tag that implements
the request time semantics for this tag. (required)
#PCDATA ::= fully qualified Java class name
-->
<!ELEMENT tag-class (#PCDATA) >
<!--
Defines the subclass of javax.servlet.jsp.tagext.TagExtraInfo for
this tag. (optional)
If this is not given, the class is not consulted at translation time.
#PCDATA ::= fully qualified Java class name
-->
<!ELEMENT tei-class (#PCDATA) >
<!--
Provides a hint as to the content of the body of this tag. Primarily
intended for use by page composition tools.
There are currently three values specified:
tagdependent The body of the tag is interpreted by the tag
implementation itself, and is most likely in a
different "langage", e.g embedded SQL statements.
JSP The body of the tag contains nested JSP syntax
empty The body must be empty
The default (if not defined) is JSP
#PCDATA ::= tagdependent | JSP | empty
-->
<!ELEMENT body-content (#PCDATA) >
<!--
The display-name element contains a short name that is intended
to be displayed by tools.
-->
<!ELEMENT display-name (#PCDATA) >
<!--
The large-icon element contains the name of a file containing a large
(32 x 32) icon image. The file name is a relative path within the
tag library. The image must be either in the JPEG or GIF format, and
the file name must end with the suffix ".jpg" or ".gif" respectively.
The icon can be used by tools.
-->
<!ELEMENT large-icon (#PCDATA) >
<!--
The small-icon element contains the name of a file containing a large
(32 x 32) icon image. The file name is a relative path within the
tag library. The image must be either in the JPEG or GIF format, and
the file name must end with the suffix ".jpg" or ".gif" respectively.
The icon can be used by tools.
-->
<!ELEMENT small-icon (#PCDATA) >
<!--
The example element contains an informal description of an example
of the use of a tag.
-->
<!ELEMENT example (#PCDATA) >
<!--
The variable tag provides information on the scripting variables
defined by this tag. It is a (translation time) error for a tag
that has one or more variable subelements to have a TagExtraInfo
class that returns a non-null object.
The subelements of variable are of the form:
name-given The variable name as a constant
name-from-attribute The name of an attribute whose (translation
time) value will give the name of the
variable. One of name-given or
name-from-attribute is required.
variable-class Name of the class of the variable.
java.lang.String is default.
declare Whether the variable is declared or not.
True is the default.
scope The scope of the scripting varaible
defined. NESTED is default.
description Optional description of this variable
-->
<!ELEMENT variable ( (name-given | name-from-attribute), variable-class?,
declare?, scope?, description?) >
<!--
The name for the scripting variable. One of name-given or
name-from-attribute is required.
-->
<!ELEMENT name-given (#PCDATA) >
<!--
The name of an attribute whose (translation-time) value will give
the name of the variable. One of name-given or name-from-attribute
is required.
-->
<!ELEMENT name-from-attribute (#PCDATA) >
<!--
The optional name of the class for the scripting variable. The
default is java.lang.String.
-->
<!ELEMENT variable-class (#PCDATA) >
<!--
Whether the scripting variable is to be defined or not. See
TagExtraInfo for details. This element is optional and "true"
is the default.
-->
<!ELEMENT declare (#PCDATA) >
<!--
The scope of the scripting variable. See TagExtraInfo for details.
The element is optional and "NESTED" is the default. Other legal
values are "AT_BEGIN" and "AT_END".
-->
<!ELEMENT scope (#PCDATA) >
<!--
The attribute tag defines an attribute for the nesting tag
An attribute definition is composed of:
- the attributes name (required)
- if the attribute is required or optional (optional)
- if the attributes value may be dynamically calculated at runtime
by a scriptlet expression (optional)
- the type of the attributes value (optional)
- an informal description of the meaning of the attribute (optional)
-->
<!--
The attribute tag defines an attribute for the nesting tag
An attribute definition is composed of:
- the attributes name (required)
- if the attribute is required or optional (optional)
- if the attributes value may be dynamically calculated at runtime
by a scriptlet expression (optional)
- the type of the attributes value (optional)
- an informal description of the meaning of the attribute (optional)
-->
<!ELEMENT attribute (name, required? , rtexprvalue?, type?, description?) >
<!--
Defines the canonical name of a tag or attribute being defined
#PCDATA ::= NMTOKEN
-->
<!ELEMENT name (#PCDATA) >
<!--
Defines if the nesting attribute is required or optional.
#PCDATA ::= true | false | yes | no
If not present then the default is "false", i.e the attribute
is optional.
-->
<!ELEMENT required (#PCDATA) >
<!--
Defines if the nesting attribute can have scriptlet expressions as
a value, i.e the value of the attribute may be dynamically calculated
at request time, as opposed to a static value determined at translation
time.
#PCDATA ::= true | false | yes | no
If not present then the default is "false", i.e the attribute
has a static value
-->
<!ELEMENT rtexprvalue (#PCDATA) >
<!--
Defines the Java type of the attributes value. For static values
(those determined at translation time) the type is always
java.lang.String.
-->
<!ELEMENT type (#PCDATA) >
<!-- ID attributes -->
<!ATTLIST tlib-version id ID #IMPLIED>
<!ATTLIST jsp-version id ID #IMPLIED>
<!ATTLIST short-name id ID #IMPLIED>
<!ATTLIST uri id ID #IMPLIED>
<!ATTLIST description id ID #IMPLIED>
<!ATTLIST example id ID #IMPLIED>
<!ATTLIST tag id ID #IMPLIED>
<!ATTLIST tag-class id ID #IMPLIED>
<!ATTLIST tei-class id ID #IMPLIED>
<!ATTLIST body-content id ID #IMPLIED>
<!ATTLIST attribute id ID #IMPLIED>
<!ATTLIST name id ID #IMPLIED>
<!ATTLIST required id ID #IMPLIED>
<!ATTLIST rtexprvalue id ID #IMPLIED>
<!ATTLIST param-name id ID #IMPLIED>
<!ATTLIST param-value id ID #IMPLIED>
<!ATTLIST listener id ID #IMPLIED>
<!ATTLIST listener-class id ID #IMPLIED>