JSP TLD Relax-NG SchemaResin 3.0
Resin 3.0

Features
Installation
Configuration
Web Applications
IOC/AOP
Resources
JSP
Servlets and Filters
Portlets
Databases
Admin (JMX)
CMP
EJB
EJB 3.0
Security
XML and XSLT
XTP
JMS
Performance
Protocols
Third-party
Troubleshooting/FAQ

Introduction
JSP Compilation
Reference
Tutorials
Articles
FAQ

JSP EL
JSTL
Directives
Variables
Actions
Applications
Velocity
Schema for JSP-2.0 .tld files
Velocity
Reference
Tutorials

The formal definition for the *.tld file

  1. Example taglib
  2. Relax-NG Schema

Example taglib

test.tld
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" version="2.0">
  <tlib-version>1.0</tlib-version>
  <short-name>x</short-name>
  <uri>foo/zippee</uri>
  <tag>
    <name>foo</name>
    <tag-class>test.MyTag</tag-class>
    <attribute>
      <name>var</name>
    </attribute>
  </tag>
</taglib>

Relax-NG Schema

default namespace j2ee = "http://java.sun.com/xml/ns/j2ee"
namespace local = ""
namespace xsi = "http://www.w3.org/2001/XMLSchema-instance"
include "../../server/resin/j2ee.rnc"
j2ee_dewey-version = string
j2ee_generic-boolean = string
j2ee_java-identifier = string
j2ee_path = string
j2ee_variable = string
jsp20_attribute = element attribute {
  attribute id { string }?,
  jsp20_description*,
  element name { j2ee_java-identifier },
  element required { j2ee_generic-boolean }?,
  ((element rtexprvalue { j2ee_generic-boolean }?,
     element type { j2ee_fully-qualified-class }?)
   | element fragment { j2ee_generic-boolean }?)
}
jsp20_body-content = element body-content {
  "tagdependent"
  | "JSP"
  | "empty"
  | "scriptless"
}
jsp20_description = element description { string }*
jsp20_display-name = element display-name { string }*
jsp20_extension-Type =
  (attribute id { string }?,
   attribute namespace { string },
   jsp20_extension-element+)
jsp20_extension-element = element extension-element {
  attribute id { string }?
}
jsp20_function = element function {
  attribute id { string }?,
  j2ee_description-Group,
  element name { string },
  element function-class { j2ee_fully-qualified-class },
  element function-signature { string },
  element example { string }?,
  element function-extension { jsp20_extension-Type }*
}
jsp20_icon = element icon { string }*
jsp20_init-param = element init-param {
  element param-name { string },
  element param-value { string }
}
jsp20_listener = element listener {
  attribute id { string }?,
  element listener-class { j2ee_fully-qualified-class }
}
jsp20_tag = element tag {
  attribute id { string }?,
  j2ee_description-Group,
  element name { string },
  element tag-class { j2ee_fully-qualified-class },
  element tei-class { j2ee_fully-qualified-class }?,
  jsp20_body-content?,
  jsp20_variable*,
  jsp20_attribute*,
  element dynamic-attributes { j2ee_generic-boolean }?,
  element example { string }?,
  element tag-extension { jsp20_extension-Type }*
}
jsp20_tag-file = element tag-file {
  attribute id { string }?,
  j2ee_description-Group,
  element name { string },
  element path { j2ee_path },
  element example { string }?,
  element tag-extension { jsp20_extension-Type }*
}
jsp20_taglib = element taglib {
  attribute version { "2.0" },
  attribute xsi:schemaLocation { string }?,
  j2ee_description-Group,
  element tlib-version { j2ee_dewey-version },
  element short-name { string },
  element uri { string }?,
  jsp20_validator?,
  jsp20_listener?,
  jsp20_tag*,
  jsp20_tag-file*,
  jsp20_function*,
  element taglib-extension { jsp20_extension-Type }*
}
jsp20_validator = element validator {
  attribute id { string }?,
  jsp20_description*,
  element validator-class { j2ee_fully-qualified-class },
  jsp20_init-param*
}
jsp20_variable = element variable {
  attribute id { string }?,
  jsp20_description*,
  ( element name-given { j2ee_java-identifier }
  | element name-from-attribute { j2ee_java-identifier }),
  element variable-class { j2ee_fully-qualified-class }?,
  element declare { j2ee_generic-boolean }?,
  element scope { "AT_BEGIN" | "NESTED" | "AT_END" }?
}


Velocity
Reference
Tutorials
Copyright © 1998-2005 Caucho Technology, Inc. All rights reserved.
Resin® is a registered trademark, and HardCoretm and Quercustm are trademarks of Caucho Technology, Inc.