blob: 90b750aa459853dd93fd2336c0964a998e817c19 [file] [log] [blame]
<!--
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 implementation
classes and other resources required to implement the actions defined
therein.
Use is subject to license terms.
-->
<!NOTATION WEB-JSPTAGLIB.1_2 PUBLIC “-//Sun Microsystems, Inc.//DTD
JSP Tag Library 1.2//EN”>
<!--
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 element 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 name that could be used by a JSP authoring
tool to create names with a mnemonicvalue; for example, the it
may be used as the preferedprefix 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”>
<!--
The value of the tlib-version element describes this version (number) of the taglibrary.
This element is mandatory.
#PCDATA ::= [0-9]*{ “.”[0-9] }0..3
-->
<!ELEMENT tlib-version (#PCDATA)
<!--
The value of the jsp-version element describes the JSP version (number) this
taglibrary requires in order to function. This element is mandatory. The value that
should be used for JSP 1.2 is "1.2" (no quotes).
#PCDATA ::= [0-9]*{ “.”[0-9] }0..3
-->
<!ELEMENT jsp-version (#PCDATA) >
<!--
The value of the short-name element is a name that could be used by a JSP authoring
tool to create names with a mnemonic value; for example, it may be used
as the prefered prefix value in taglib directives.
Do not use white space, and do not start with digits or underscore.
#PCDATA ::= NMTOKEN
-->
<!ELEMENT short-name (#PCDATA) >
<!--
The value of the uri element is a public URI that uniquely identifies the exact semantics
of this taglibrary.
-->
<!ELEMENT uri (#PCDATA) >
<!--
The value of the description element is an arbitrary text string describing the tag
library.
-->
<!ELEMENT description(#PCDATA) >
<!--
The validator element provides information on 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?) >
<!--
The validator-class element 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)>
<!--
The listener element 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 element defines an action in this tag library. The tag element 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 action.
-->
<!ELEMENT tag (name, tag-class, tei-class?, body-content?, display-name?,
small-icon?, large-icon?, description?, variable*, attribute*, example?) >
<!--
The tag-class element indicates the subclass of javax.serlvet.jsp.tagext.Tag that
implements the request time semantics for this tag. This element is required.
#PCDATA ::= fully qualified Java class name
-->
<!ELEMENT tag-class (#PCDATA) >
<!--
The tei-class element indicates the subclass of javax.servlet.jsp.tagext.TagExtraInfo
for this tag. The class is instantiated at translation time. This element is
optional.
#PCDATA ::= fully qualified Java class name
-->
<!ELEMENT tei-class (#PCDATA) >
<!--
The body-content element provides provides information on the content of the
body of this tag. This element is 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
This element is optional; the default value 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 icon can be used by tools. 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.
-->
<!ELEMENT large-icon (#PCDATA) >
<!--
The small-icon element contains the name of a file containing a small (16 x 16)
icon image. The icon can be used by tools. 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.
-->
<!ELEMENT small-icon (#PCDATA) >
<!--
The example element provides an informal description of an example of the use
of a tag.
-->
<!ELEMENT example (#PCDATA) >
<!--
The variable element provides information on the scripting variables defined by
this tag.
It is a (translation time) error for an action 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 namefrom-
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 variable defined. NESTED is default.
-->
<!ELEMENT variable ( (name-given | name-from-attribute), variable-class?, declare?,
scope?, description?) >
<!--
The name-given element provides the name for the scripting variable.
One of name-given or name-from-attribute is required.
-->
<!ELEMENT name-given (#PCDATA) >
<!--
The value of the name-from-attribute element is 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 variable-class element is the name of the class for the scripting variable.
This element is optional; the default is java.lang.String.
-->
<!ELEMENT variable-class (#PCDATA) >
<!--
The value of the declare element indicates whether the scripting variable is to be
defined or not. See TagExtraInfo for details.
This element is optional and is the default is true.
-->
<!ELEMENT declare (#PCDATA) >
<!--
The value of the scope element describes the scope of the scripting variable.
See TagExtraInfo for details.
This element is optional and the default value is the string “NESTED”. The other
legal values are “AT_BEGIN” and “AT_END”.
-->
<!ELEMENT scope (#PCDATA) >
<!--
The attribute element defines an attribute for the nesting tag.
The attributre element may have several subelements defining:
name the name of the attribute
attribute whether the attribute is required or optional
rtexpravaluewhether the attribute is a runtime attribute
type the type of the attributes
description a description of the attribute
-->
<!ELEMENT attribute (name, required? , rtexprvalue?, type?, description?) >
<!--
The name element defines the canonical name of a tag or attribute being defined
#PCDATA ::= NMTOKEN
-->
<!ELEMENT name(#PCDATA) >
<!--
The value of the required element indicates if the nesting attribute is required or
optional. This attribute is optional and its default value is false.
#PCDATA ::= true | false | yes | no
-->
<!ELEMENT required (#PCDATA) >
<!--
The value of the rtexpvalue element indicates if the value of the attribute may be
dynamically calculated at request time, as opposed to a static value determined
at translation time. This attribute is optional and its default value is false
#PCDATA ::= true | false | yes | no
-->
<!ELEMENT rtexprvalue (#PCDATA) >
<!--
The value of the type element describes 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>