<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
-->
<!-- This file was automatically generated by Autotag.  Please do not edit it manually. -->
<taglib
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
  xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  version="2.1">
   <description>
   <![CDATA[
   This tag library provides Tiles tags.
   ]]>
   </description>
   <tlib-version>1.2</tlib-version>
   <short-name>tiles</short-name>
   <uri>http://tiles.apache.org/tags-tiles</uri>
   <tag>
      <description>
      <![CDATA[
      <p>
      Insert a definition.
      </p>
      <p>
      Insert a definition with the possibility to override and specify parameters
      (called attributes). A definition can be seen as a (partially or totally)
      filled template that can override or complete attribute values.
      &lt;tiles:insertDefinition&gt; allows to define these attributes
      and pass them to the inserted jsp page, called template. Attributes are
      defined using nested tag &lt;tiles:putAttribute&gt; or
      &lt;tiles:putListAttribute&gt;.
      </p>
      <p>
      You must specify name tag attribute, for inserting a definition from definitions factory.
      </p>
      <p>
      Example : 
      </p>
      
      <pre>
          &lt;tiles:insertDefinition name=&quot;.my.tiles.defininition flush=&quot;true&quot;&gt;
              &lt;tiles:putAttribute name=&quot;title&quot; value=&quot;My first page&quot; /&gt;
              &lt;tiles:putAttribute name=&quot;header&quot; value=&quot;/common/header.jsp&quot; /&gt;
              &lt;tiles:putAttribute name=&quot;footer&quot; value=&quot;/common/footer.jsp&quot; /&gt;
              &lt;tiles:putAttribute name=&quot;menu&quot; value=&quot;/basic/menu.jsp&quot; /&gt;
              &lt;tiles:putAttribute name=&quot;body&quot; value=&quot;/basic/helloBody.jsp&quot; /&gt;
          &lt;/tiles:insertDefinition&gt;
      </pre>
      ]]>
      </description>
      <name>insertDefinition</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.InsertDefinitionTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         The name of the definition to render.
         ]]>
         </description>
         <name>name</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         If specified, this template will be used instead of the one used by the definition.
         ]]>
         </description>
         <name>template</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The type of the template attribute.
         ]]>
         </description>
         <name>templateType</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The expression to evaluate to get the value of the template.
         ]]>
         </description>
         <name>templateExpression</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         A comma-separated list of roles. If present, the definition
         will be rendered only if the current user belongs to one of the roles.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The preparer to use to invoke before the definition is
         rendered. If specified, it overrides the preparer specified in the definition itself.
         ]]>
         </description>
         <name>preparer</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         If true, the response will be flushed after the insert.
         ]]>
         </description>
         <name>flush</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
      Import attribute(s) in specified context.
      </p>
      <p>
      Import attribute(s) to requested scope. Attribute name and scope are
      optional. If not specified, all attributes are imported in page scope. Once
      imported, an attribute can be used as any other beans from jsp contexts.
      </p>
      ]]>
      </description>
      <name>importAttribute</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.ImportAttributeTag</tag-class>
      <body-content>empty</body-content>
      <attribute>
         <description>
         <![CDATA[
         The name of the attribute to import. If it is null, all the attributes will be imported.
         ]]>
         </description>
         <name>name</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The scope into which the attribute(s) will be imported. If
         null, the import will go in page scope.
         ]]>
         </description>
         <name>scope</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The name of the attribute into which the attribute will be
         imported. To be used in conjunction to name. If null, the value of name will be used.
         ]]>
         </description>
         <name>toName</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         If true, if the attribute is not present, the problem will be ignored.
         ]]>
         </description>
         <name>ignore</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      Selects a container to be used as the "current" container.
      ]]>
      </description>
      <name>setCurrentContainer</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.SetCurrentContainerTag</tag-class>
      <body-content>empty</body-content>
      <attribute>
         <description>
         <![CDATA[
         The key of the container to be used as "current". If null, the default one will be used.
         ]]>
         </description>
         <name>containerKey</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
      Declare a list that will be pass as an attribute. 
      </p>
      <p>
      Declare a list that will be pass as an attribute . List elements are added
      using the tag 'addAttribute' or 'addListAttribute'. This tag can only be used
      inside 'insertTemplate', 'insertDefinition' or 'definition' tag.
      </p>
      ]]>
      </description>
      <name>addListAttribute</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.AddListAttributeTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         The comma-separated list of roles that can use the list attribute.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
       Render the value of the specified template attribute to the current Writer
      </p>
      
      <p>
      Retrieve the value of the specified template attribute property, and render
      it to the current Writer as a String. The usual toString() conversions is applied on found value.
      </p>
      ]]>
      </description>
      <name>getAsString</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.GetAsStringTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         If true, if an exception happens during
         rendering, of if the attribute is null, the problem will be ignored.
         ]]>
         </description>
         <name>ignore</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The preparer to invoke before rendering the attribute.
         ]]>
         </description>
         <name>preparer</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         A comma-separated list of roles. If present, the attribute
         will be rendered only if the current user belongs to one of the roles.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The default value of the attribute. To use only if
         the attribute was not computed.
         ]]>
         </description>
         <name>defaultValue</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.Object</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The default comma-separated list of roles. To use
         only if the attribute was not computed.
         ]]>
         </description>
         <name>defaultValueRole</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The default type of the attribute. To use only if
         the attribute was not computed.
         ]]>
         </description>
         <name>defaultValueType</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The name of the attribute.
         ]]>
         </description>
         <name>name</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The attribute to use immediately, if not null.
         ]]>
         </description>
         <name>value</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>org.apache.tiles.api.Attribute</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
      Inserts the value of an attribute into the page.
      </p>
      <p>
      This tag can be flexibly used to insert the value of an attribute into a
      page. As in other usages in Tiles, every attribute can be determined to have
      a "type", either set explicitly when it was defined, or "computed". If the
      type is not explicit, then if the attribute value is a valid definition, it
      will be inserted as such. Otherwise, if it begins with a "/" character, it
      will be treated as a "template". Finally, if it has not otherwise been
      assigned a type, it will be treated as a String and included without any special handling.
      </p>
      
      <p>
      Example : 
      </p>
      
      <pre>
          &lt;tiles:insertAttribute name=&quot;body&quot; /&gt;
      </pre>
      ]]>
      </description>
      <name>insertAttribute</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.InsertAttributeTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         If true, if an exception happens during
         rendering, of if the attribute is null, the problem will be ignored.
         ]]>
         </description>
         <name>ignore</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The preparer to invoke before rendering the attribute.
         ]]>
         </description>
         <name>preparer</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         A comma-separated list of roles. If present, the attribute
         will be rendered only if the current user belongs to one of the roles.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The default value of the attribute. To use only if
         the attribute was not computed.
         ]]>
         </description>
         <name>defaultValue</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.Object</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The default comma-separated list of roles. To use
         only if the attribute was not computed.
         ]]>
         </description>
         <name>defaultValueRole</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The default type of the attribute. To use only if
         the attribute was not computed.
         ]]>
         </description>
         <name>defaultValueType</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The name of the attribute.
         ]]>
         </description>
         <name>name</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The attribute to use immediately, if not null.
         ]]>
         </description>
         <name>value</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>org.apache.tiles.api.Attribute</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         If true, the response will be flushed after the insert.
         ]]>
         </description>
         <name>flush</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
      Put an attribute in enclosing attribute container tag.
      </p>
      <p>
      Enclosing attribute container tag can be :
      <ul>
      <li>&lt;initContainer&gt;</li>
      <li>&lt;definition&gt;</li>
      <li>&lt;insertAttribute&gt;</li>
      <li>&lt;insertDefinition&gt;</li>
      <li>&lt;putListAttribute&gt;</li>
      </ul>
      (or any other tag which implements the PutAttributeTagParent
      interface. Exception is thrown if no appropriate tag can be found.
      </p>
      <p>
      Put tag can have following atributes :
      <ul>
      <li>name : Name of the attribute</li>
      <li>value : value to put as attribute</li>
      <li>type : value type. Possible type are : string (value is used as direct
      string), template (value is used as a page url to insert), definition (value
      is used as a definition name to insert), object (value is used as it is)</li>
      <li>role : Role to check when 'insertAttribute' will be called.</li>
      </ul>
      </p>
      <p>
      Value can also come from tag body. Tag body is taken into account only if
      value is not set by one of the tag attributes. In this case Attribute type is
      "string", unless tag body define another type.
      </p>
      ]]>
      </description>
      <name>putAttribute</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.PutAttributeTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         The name of the attribute to put.
         ]]>
         </description>
         <name>name</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The value of the attribute. Use this parameter, or expression, or body.
         ]]>
         </description>
         <name>value</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.Object</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The expression to calculate the value from. Use this
         parameter, or value, or body.
         ]]>
         </description>
         <name>expression</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         A comma-separated list of roles. If present, the attribute
         will be rendered only if the current user belongs to one of the roles.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The type (renderer) of the attribute.
         ]]>
         </description>
         <name>type</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         If true the attribute will be cascaded to all nested attributes.
         ]]>
         </description>
         <name>cascade</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
      Create a definition at runtime. 
      </p>
      <p>
      Create a new definition at runtime. Newly created definition will be
      available across the entire request.
      </p>
      ]]>
      </description>
      <name>definition</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.DefinitionTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         The name of the definition to create. If not specified, an
         anonymous definition will be created.
         ]]>
         </description>
         <name>name</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The template of this definition.
         ]]>
         </description>
         <name>template</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         A comma-separated list of roles. If present, the definition
         will be rendered only if the current user belongs to one of the roles.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The definition name that this definition extends.
         ]]>
         </description>
         <name>extends</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The preparer to use to invoke before the definition is rendered.
         ]]>
         </description>
         <name>preparer</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
      Add an element to the surrounding list. Equivalent to 'putAttribute',
      but for list element.
      </p>
      
      <p>
      Add an element to the surrounding list. This tag can only be used inside
      'putListAttribute' or 'addListAttribute' tags. Value can come from a direct
      assignment (value="aValue")
      </p>
      ]]>
      </description>
      <name>addAttribute</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.AddAttributeTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         The value of the attribute. Use this parameter, or expression, or body.
         ]]>
         </description>
         <name>value</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.Object</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The expression to calculate the value from. Use this
         parameter, or value, or body.
         ]]>
         </description>
         <name>expression</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         A comma-separated list of roles. If present, the attribute
         will be rendered only if the current user belongs to one of the roles.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The type (renderer) of the attribute.
         ]]>
         </description>
         <name>type</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
      Declare a list that will be pass as attribute to tile. 
      </p>
      <p>
      Declare a list that will be pass as attribute to tile. List elements are
      added using the tags 'addAttribute' or 'addListAttribute'. This tag can only
      be used inside 'insertTemplate', 'insertDefinition', 'definition' tags.
      </p>
      ]]>
      </description>
      <name>putListAttribute</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.PutListAttributeTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         The name of the attribute to put.
         ]]>
         </description>
         <name>name</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         A comma-separated list of roles. If present, the attribute
         will be rendered only if the current user belongs to one of the roles.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         If true, the list attribute will use, as first elements, the
         list contained in the list attribute, put with the same name, of the containing definition.
         ]]>
         </description>
         <name>inherit</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         If true the attribute will be cascaded to all nested attributes.
         ]]>
         </description>
         <name>cascade</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
   </tag>
   <tag>
      <description>
      <![CDATA[
      <p>
      Insert a template.
      </p>
      <p>
      Insert a template with the possibility to pass parameters (called
      attributes). A template can be seen as a procedure that can take parameters
      or attributes. &lt;tiles:insertTemplate&gt; allows to define
      these attributes and pass them to the inserted jsp page, called template.
      Attributes are defined using nested tag
      &lt;tiles:putAttribute&gt; or
      &lt;tiles:putListAttribute&gt;.
      </p>
      <p>
      You must specify template attribute, for inserting a template
      </p>
      
      <p>
      Example :
      </p>
      
      <pre>
          &lt;tiles:insertTemplate template=&quot;/basic/myLayout.jsp&quot; flush=&quot;true&quot;&gt;
              &lt;tiles:putAttribute name=&quot;title&quot; value=&quot;My first page&quot; /&gt;
              &lt;tiles:putAttribute name=&quot;header&quot; value=&quot;/common/header.jsp&quot; /&gt;
              &lt;tiles:putAttribute name=&quot;footer&quot; value=&quot;/common/footer.jsp&quot; /&gt;
              &lt;tiles:putAttribute name=&quot;menu&quot; value=&quot;/basic/menu.jsp&quot; /&gt;
              &lt;tiles:putAttribute name=&quot;body&quot; value=&quot;/basic/helloBody.jsp&quot; /&gt;
          &lt;/tiles:insertTemplate&gt;
      </pre>
      ]]>
      </description>
      <name>insertTemplate</name>
      <tag-class>org.apache.tiles.web.jsp.taglib.InsertTemplateTag</tag-class>
      <body-content>scriptless</body-content>
      <attribute>
         <description>
         <![CDATA[
         The template to render.
         ]]>
         </description>
         <name>template</name>
         <required>true</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The type of the template attribute.
         ]]>
         </description>
         <name>templateType</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The expression to evaluate to get the value of the template.
         ]]>
         </description>
         <name>templateExpression</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         A comma-separated list of roles. If present, the template
         will be rendered only if the current user belongs to one of the roles.
         ]]>
         </description>
         <name>role</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         The preparer to use to invoke before the definition is
         rendered. If specified, it overrides the preparer specified in the
         definition itself.
         ]]>
         </description>
         <name>preparer</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>java.lang.String</type>
      </attribute>
      <attribute>
         <description>
         <![CDATA[
         If true, the response will be flushed after the insert.
         ]]>
         </description>
         <name>flush</name>
         <required>false</required>
         <rtexprvalue>true</rtexprvalue>
         <type>boolean</type>
      </attribute>
   </tag>
</taglib>
