<title>Tag Library Configuration</title>

The tag library configuration file is typically provided by the tag library
vendor.  In general, users of the tag library will only need to configure
the <var/taglib/> to point to the vendor's configuration.

<example title='resin.conf'>
&lt;web-app>
&lt;taglib taglib-uri='/mytag/test'
        taglib-location='/MyTag.tlb'/>
&lt;/web-app>
</example>

<p/>As a shortcut during development, you can pull the taglib definition
into the resin.conf:

<example>
&lt;web-app>
&lt;taglib taglib-uri='/mytag/test'>
  &lt;tag name='bar' tagclass='test.NoTag'/>
  &lt;tag name='foo' tagclass='test.MyTag' teiclass='test.MyTagInfo'/>
&lt;/web-app>
</example>

<p/>Resin 1.2.2 will detect any META-INF/*.tld and WEB-INF/*.tld
automatically, so you don't need to add them individually.  (The new behavior
is part of the Servlet 2.3 spec.)

<objsummary/>

<section name='taglib' title='taglib' version='Resin 1.1'>

<defun name=taglib title='taglib'>
<sum>Defines a tag library.</sum>  The <var/taglib/> declaration will contain
several <var/tag/> declarations.

<deftable>
<tr><th>Attribute<th>Meaning
<tr><td>version<td>Version of the tag library.
<tr><td>jspversion<td>Expected JSP version
<tr><td>shortname<td>A short name for the tag library.  For IDEs, this may
give a suggested tag prefix.
<tr><td>uri<td>A unique identifier for the tag library.
<tr><td>info<td>An information string for the tag library.
</deftable>
</defun>

<defun name=tag title='tag'>
<sum>Defines a tag.</sum>  The <var/tag/> may contain several <var/attribute/>
declarations. 

<deftable>
<tr><th>Attribute<th>Meaning
<tr><td>name<td>The tag name
<tr><td>tagclass<td>The tag class
<tr><td>teiclass<td>The TagExtraInfo class (used for validation and
declaring implicit variables.
<tr><td>bodycontent<td>False if the tag should always be empty.
<tr><td>info<td>An information string for the tag.
</deftable>
</defun>

<defun name=attribute title='attribute'>
<sum>Defines a tag attribute.</sum>

<deftable>
<tr><th>Attribute<th>Meaning
<tr><td>name<td>The attribute name.
<tr><td>required<td>True if the tag is required.
<tr><td>rtexprvalue<td>True if the tag can use a real time expression.
</deftable>
</defun>

</section>
