<document>
<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> <def> 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" }? } </def>
</document>