You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by gl...@apache.org on 2001/07/13 02:07:23 UTC

cvs commit: jakarta-taglibs/request/xml request.xml

glenn       01/07/12 17:07:23

  Modified:    request  build.xml
  Added:       request/xml request.xml
  Log:
  Convert to new build
  
  Revision  Changes    Path
  1.9       +10 -214   jakarta-taglibs/request/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-taglibs/request/build.xml,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- build.xml	2001/07/01 20:08:26	1.8
  +++ build.xml	2001/07/13 00:07:20	1.9
  @@ -1,221 +1,17 @@
  -<!-- ANT Build Script for the "request" Custom Tag Library -->
  -<!-- $Id: build.xml,v 1.8 2001/07/01 20:08:26 glenn Exp $ -->
  -<project name="request" default="main" basedir=".">
  +<?xml version="1.0"?>
   
  -    <!-- ******************** Adjustable Properties *********************** -->
  +<!-- Define and use the common.xml ant build file for building
  +     your taglib -->
   
  -    <!--
  +<!DOCTYPE project [
  +    <!ENTITY common SYSTEM "file:../common.xml">
  +]>
   
  -        The following property values should be examined and customized
  -        for each custom tag library subproject.
  +<!-- Your main ant build declaration -->
   
  -        ant.home                    Home directory for the ANT build tool
  -                                    This is normally defaulted from the
  -                                    ANT_HOME environment variable in the
  -                                    build script.
  +<project name="request" default="main">
   
  -        servlet.jar                 Pathname of the servlet API classes
  -                                    you are using to compile, such as the
  -                                    one that comes with Tomcat.  This is
  -                                    normally defaulted from the SERVLET_JAR
  -                                    environment variable in the build script.
  -
  -        taglib.name                 Base name of this tag library subproject.
  -
  -    -->
  -
  -    <property name="taglib.name"    value="request"/>
  -    <property name="ant.home"       value="../../jakarta-ant"/>
  -    <property name="servlet.jar"    value="../../jakarta-servletapi/lib/servlet.jar"/>
  -
  -
  -    <!-- ****************** Project Standard Properties ******************* -->
  -
  -    <!--
  -
  -        The following property values reflect the standard directory
  -        organization for the jakarta-taglibs project, and should not
  -        be changed or overridden.
  -
  -        build.dir                   Base directory for build targets
  -        dist.dir                    Base directory for distribution targets
  -        taglibs.xsl                 Taglibs stylesheet
  -
  -
  -    -->
  -
  -    <property name="build.dir"      value="../build"/>
  -    <property name="dist.dir"       value="../dist"/>
  -    <property name="taglibs.xsl"    value="../src/doc/stylesheets/taglibs.xsl"/>
  -
  -    <!-- *********************** Default Properties ********************** -->
  -
  -    <!--
  -
  -        The following property values reflect the recommended directory
  -        structure for each custom tag library subproject.  You should only
  -        need to adjust or override them if you use a different organization.
  -
  -        conf.src                    Library configuration source directory
  -        doc.src                     Documentation app source directory
  -        examples.src                Examples app source directory
  -        library.src                 Library Java source directory
  -
  -    -->
  -
  -    <property name="conf.src"       value="conf"/>
  -    <property name="doc.src"        value="doc"/>
  -    <property name="examples.src"   value="examples"/>
  -    <property name="library.src"    value="src"/>
  -    <property name="lib.src"        value="lib"/>
  -
  -
  -    <!-- ********************* Derived Properties ************************* -->
  -
  -    <!--
  -
  -        These property values are derived from the previously defined values,
  -        and should not normally be overridden from the command line.
  -
  -        build.doc                   Target directory for documentation app
  -        build.examples              Target directory for examples app
  -        build.library               Target directory for tag library
  -        dist.doc                    Destination WAR for documentation app
  -        dist.examples               Destination WAR for examples app
  -        dist.library                Destination JAR for tag library
  -        dist.tld                    Destination TLD file for tag library
  -
  -    -->
  -
  -    <property name="build.doc"      value="${build.dir}/${taglib.name}/${taglib.name}-doc"/>
  -    <property name="build.examples" value="${build.dir}/${taglib.name}/${taglib.name}-examples"/>
  -    <property name="build.library"  value="${build.dir}/${taglib.name}/${taglib.name}"/>
  -    <property name="dist.doc"       value="${dist.dir}/${taglib.name}/${taglib.name}-doc.war"/>
  -    <property name="dist.examples"  value="${dist.dir}/${taglib.name}/${taglib.name}-examples.war"/>
  -    <property name="dist.library"   value="${dist.dir}/${taglib.name}/${taglib.name}.jar"/>
  -    <property name="dist.tld"       value="${dist.dir}/${taglib.name}/${taglib.name}.tld"/>
  -    <property name="taglibs.doc"    value="${dist.dir}/doc/doc/${taglib.name}-doc"/>
  -
  -
  -  <!-- ********************** Destination Preparation ********************* -->
  -
  -  <target name="prepare">
  -    <!-- Set up build directories -->
  -    <mkdir dir="${build.dir}"/>
  -    <mkdir dir="${build.doc}"/>
  -    <mkdir dir="${build.doc}/javadoc"/>
  -    <mkdir dir="${build.doc}/WEB-INF"/>
  -    <mkdir dir="${build.doc}/WEB-INF/classes"/>
  -    <mkdir dir="${build.doc}/WEB-INF/lib"/>
  -    <mkdir dir="${build.examples}"/>
  -    <mkdir dir="${build.examples}/WEB-INF"/>
  -    <mkdir dir="${build.examples}/WEB-INF/classes"/>
  -    <mkdir dir="${build.examples}/WEB-INF/lib"/>
  -    <mkdir dir="${build.library}"/>
  -    <mkdir dir="${build.library}/META-INF"/>
  -    <!-- Set up distribution directory -->
  -    <mkdir dir="${dist.dir}"/>
  -    <mkdir dir="${dist.dir}/${taglib.name}"/>
  -  </target>
  -
  -
  -  <!-- **************** Compile Tag Library Components ******************** -->
  -
  -  <!-- Compile the documentation application -->
  -  <target name="documentation" depends="prepare">
  -    <copy todir="${build.doc}/WEB-INF">
  -      <fileset dir="${doc.src}/conf"/>
  -    </copy>
  -    <!-- intro.xml isn't part of the documentation application,
  -         this is just a handy place to build it for the web site. -->
  -    <style in="xml/intro.xml"
  -           destdir="${build.doc}"
  -           out="${build.doc}/intro.html"
  -           style="${taglibs.xsl}">
  -      <param name="prefix" expression="../../"/>
  -    </style>
  -    <copy todir="${build.doc}">
  -      <fileset dir="${doc.src}/web">
  -        <include name="**/*.html"/>
  -      </fileset>
  -    </copy>
  -    <javadoc packagenames="org.apache.taglibs.request.*"
  -	     classpath="${servlet.jar}"
  -             sourcepath="src"
  -             destdir="${build.doc}/javadoc"
  -             author="true"   
  -             version="true"
  -	     use="true"
  -             windowtitle="Jakarta REQUEST custom tag library API"
  -             doctitle="Jakarta REQUEST custom tag library"
  -             bottom="Copyright &#169; 2000 Apache Software Foundation. All Rights Reserved."
  -    />
  -  </target>
  -
  -  <!-- Compile the examples application -->
  -  <target name="examples" depends="library-dist">
  -    <copy todir="${build.examples}/WEB-INF">
  -      <fileset dir="${examples.src}/conf"/>
  -    </copy>
  -    <copy todir="${build.examples}">
  -      <fileset dir="${examples.src}/web"/>
  -    </copy>
  -    <copy file="${conf.src}/request.tld" tofile="${dist.tld}"/>
  -    <copy file="${dist.tld}"
  -              tofile="${build.examples}/WEB-INF/${taglib.name}.tld"/>
  -    <copy file="${dist.library}"
  -              tofile="${build.examples}/WEB-INF/lib/${taglib.name}.jar"/>
  -    <copy file="${examples.src}/web/request.jsp"
  -              tofile="${build.examples}/request.txt"/>
  -  </target>
  -
  -  <!-- Compile the tag library itself -->
  -  <target name="library" depends="prepare">
  -    <copy file="${conf.src}/request.tld"
  -              tofile="${build.library}/META-INF/taglib.tld"/>
  -    <javac srcdir="${library.src}" destdir="${build.library}"
  -           classpath="${servlet.jar}" debug="on"/>
  -  </target>
  -
  -  <!-- Compile the library as well as the associated applications -->
  -  <target name="main" depends="library,documentation,examples"/>
  -
  -
  -  <!-- ******************* Create Distribution Files ********************** -->
  -
  -  <!-- Create the documentation application WAR file -->
  -  <target name="documentation-dist" depends="documentation">
  -    <jar jarfile="${dist.doc}" basedir="${build.doc}" excludes="intro.html"/>
  -    <mkdir dir="${taglibs.doc}"/>
  -    <copy todir="${taglibs.doc}">
  -      <fileset dir="${build.doc}">
  -        <exclude name="WEB-INF"/>     
  -      </fileset>
  -    </copy>
  -  </target>
  -
  -  <!-- Create the examples application WAR file -->
  -  <target name="examples-dist" depends="examples">
  -    <jar jarfile="${dist.examples}" basedir="${build.examples}"/>
  -  </target>
  -
  -  <!-- Create the library distribution files -->
  -  <target name="library-dist" depends="library">
  -    <jar jarfile="${dist.library}" basedir="${build.library}"/>
  -    <copy file="${conf.src}/${taglib.name}.tld" tofile="${dist.tld}"/>
  -  </target>
  -
  -  <!-- Create the entire set of distribution files -->
  -  <target name="dist" depends="library-dist,examples-dist,documentation-dist"/>
  -
  -
  -
  -  <!-- ************************ Utility Commands ************************** -->
  -
  -  <!-- Delete output directories and files so we can build from scratch -->
  -  <target name="clean">
  -    <delete dir="${build.dir}/${taglib.name}"/>
  -    <delete dir="${dist.dir}/${taglib.name}"/>
  -  </target>
  +  <!-- Include the common.xml ant build declarations -->
  +  &common;
   
   </project>
  
  
  
  1.1                  jakarta-taglibs/request/xml/request.xml
  
  Index: request.xml
  ===================================================================
  <?xml version="1.0" ?>
  
  <document url="./request.xml">
  
  <!-- More properties can be added.  Good place to stick loose
       data needed elsewhere. -->
  <properties>
    <!-- The title here overrides the title generated by the 
         stylesheet for the documentation HTML <title> tag
    <title>Jakarta Project: Request JSP Tag Library</title>
         -->
    <!-- The name here is used in the HTML <meta name="author"...> tag -->
    <author>Glenn Nielsen</author>
  </properties>
  
  <!-- The following defines elements uses both to create the taglib
       documentation and the tag library descriptor .tld file.  The
       elements used are those from the JSP 1.2 TLD DTD and special
       elements used when creating the tagib documentation.  Although
       the JSP1.2 TLD DTD is used, this document can be used to
       generate both a JSP 1.1 and a JSP 1.2 TLD.
       -->
  <taglib>
    <!-- The following elements are from the JSP 1.2 TLD DTD -->
    <!-- Version number of this tagib -->
    <tlib-version>1.0</tlib-version>
    <!-- Minimum version of JSP spec required -->
    <jsp-version>1.1</jsp-version>
    <!-- jakarta-taglib name of this tag library -->
    <short-name>request</short-name>
    <!-- URI of taglib -->
    <uri>http://jakarta.apache.org/taglibs/request-1.0</uri>
    <!-- The name to use in titles, etc. for the taglib -->
    <display-name>Request Tag library (Pre Beta)</display-name>
  
    <description>
      <p>The REQUEST custom tag library contains tags which can be used to
        access all the information about the HTTP request for a JSP page.</p>
      <p>Tags are provided to access information in the HTTP request for
        HTTP input parameters from a POST or GET, HTTP Headers, Cookies,
        request attributes, and session information related to this request.</p>
    </description> 
  
    <!-- The taglib-location is used to fill in the web.xml configuration
         information in the HTML doc. -->
    <taglib-location>/WEB-INF/request.tld</taglib-location>
  
    <!-- The prefix is used to fill in the taglib directive
         configuration information in the HTML doc. -->
    <prefix>req</prefix>
  
    <!-- This element must be straight text and is copied right into
         the "Requirements" section of the HTML doc. -->
    <requirements-info>
      This custom tag library requires no software other than a servlet container
      that supports the JavaServer Pages Specification, version 1.1 or higher.  
    </requirements-info>
  
    <tagtoc name="Request Tags">
      <tag>
        <name>request</name> 
        <tag-class>org.apache.taglibs.request.RequestTag</tag-class>
        <tei-class>org.apache.taglibs.request.RequestTEI</tei-class>
        <body-content>empty</body-content>
        <display-name>request</display-name>
  
        <description>
          Get information about the current request.
        </description>
  
        <summary>Get information about current HTTP request.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <variable>
          <name-from-attribute>id</name-from-attribute>
          <variable-class>org.apache.taglibs.request.RequestData</variable-class>
          <declare>true</declare>
          <scope>AT_BEGIN</scope>
          <description>Request Data Bean</description>
          <availability>1.0</availability>
  
          <beanprop>                             
            <name>authType</name>                 
            <get>Yes</get>     
            <set>No</set>      
            <description>
              Returns the name of the authentication scheme used to protect
              the page, "BASIC", "SSL," or "" if the page was not protected.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>                   
            <name>contextPath</name>              
            <get>Yes</get>    
            <set>No</set>     
            <description>
              Returns the portion of the request URI that indicates the context
              of the request.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>                   
            <name>method</name>              
            <get>Yes</get>    
            <set>No</set>     
            <description>
              Returns the name of the HTTP method with which this request was
              made, "GET", "POST", or "PUT".
            </description>                         
            <availability>1.0</availability>
          </beanprop>
          <beanprop>                   
            <name>pathInfo</name>              
            <get>Yes</get>    
            <set>No</set>     
            <description>
              Returns any extra path information associated with the URL the
              client sent when it made this request.
            </description>                         
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>pathTranslated</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns any extra path information after the servlet name but
              before the query string, and translates it to a real path.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>queryString</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the query string that is contained in the request URL
              after the path.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>remoteUser</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the login of the user making this request, if the user has
              been authenticated, or "" if the user has not been authenticated.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>requestedSessionId</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the session ID specified by the client.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>requestURI</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the part of this request's URL from the protocol name up
              to the query string in the first line of the HTTP request.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>requestURL</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the request URL up to the query string in the first
              line of the HTTP request.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>servletPath</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the part of this request's URL that calls the servlet.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>characterEncoding</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the name of the character encoding used in the body of
              this request.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>contentLength</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the length, in bytes, of the request body and made
              available by the input stream, or -1 if the length is not known.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>contentType</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the MIME type of the body of the request, or "" if
              the type is not known.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>protocol</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the name and version of the protocol the request uses in
              the form protocol/majorVersion.minorVersion, for example, HTTP/1.1.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>remoteAddr</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the Internet Protocol (IP) address of the client that
              sent the request.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>remoteHost</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the fully qualified name of the client that sent the
              request, or the IP address of the client if the name cannot be
              determined.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>scheme</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the name of the scheme used to make this request, for
              example, http, https, or ftp.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>serverName</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the host name of the server that received the request.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop> 
            <name>serverPort</name>                   
            <get>Yes</get>
            <set>No</set> 
            <description> 
              Returns the port number on which this request was received.
            </description>
            <availability>1.0</availability>
          </beanprop>
        </variable>
  
        <attribute>
          <name>id</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Script variable id for use with standard <B>jsp:getProperty</B> tag.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Display the requestURI and QueryString
            </comment>
            <code>
  <![CDATA[
  <req:request id="req"/>
   RequestURI:
  <jsp:getProperty name="req" property="requestURI"/><BR>
   QueryString:
  <jsp:getProperty name="req" property="queryString"/><BR>
  ]]> 
            </code>
          </usage>
        </example>
  
      </tag>
    </tagtoc>
  
    <tagtoc name="Request Session Tags">
      <tag>
        <name>isSecure</name>
        <tag-class>org.apache.taglibs.request.IsSecureTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>isSecure</display-name>
  
        <description>
          Test whether the HTTP connection is secure (using HTTPS).
        </description>
    
        <summary>
          Test whether the HTTP connection is secure (using HTTPS).
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the isSecure tag includes body of tag
            if session is not secure. Default value is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
          
        <example>
          <usage>
            <comment>
              Display whether the clients session is secure
            </comment>
            <code>
  <![CDATA[ 
  <req:isSecure>
    This session is secure.
  </req:isSecure>
  <req:isSecure value="false">
    This session is not secure.
  </req:isSecure>
  ]]>       
            </code>  
          </usage>  
        </example>
      </tag>
  
      <tag>
        <name>isSessionFromCookie</name>
        <tag-class>org.apache.taglibs.request.IsSessionFromCookieTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>isSessionFromCookie</display-name>
  
        <description>
          Test whether the HTTP session was from a cookie.
        </description>
   
        <summary>
          Test whether the HTTP session was from a cookie.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the isSessionFromCookie tag includes
            body of tag if session is not from a cookie.
            Default value is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
          
        <example>
          <usage>
            <comment> 
              Display whether the clients session is from a cookie
            </comment>
            <code>
  <![CDATA[ 
  <req:isSessionFromCookie>
    This session is from a cookie.
  </req:isSessionFromCookie>
  <req:isSessionFromCookie value="false">
    This session is not from a cookie.
  </req:isSessionFromCookie>
  ]]>     
            </code>
          </usage>
        </example>
      </tag>
  
      <tag>
        <name>isSessionFromUrl</name>
        <tag-class>org.apache.taglibs.request.IsSessionFromURLTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>isSessionFromUrl</display-name>
    
        <description>
          Test whether the HTTP session was from URL encoding.
        </description>
    
        <summary>
          Test whether the HTTP session was from URL encoding.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
        
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the isSessionFromUrl tag includes body
            of tag if session is not from a URL. Default value is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Display whether the clients session is from a URL
            </comment>
            <code>   
  <![CDATA[      
  <req:isSessionFromUrl>
    This session is from a URL.
  </req:isSessionFromUrl>
  <req:isSessionFromUrl value="false">
    This session is not from a URL.
  </req:isSessionFromUrl>
  ]]>       
            </code>
          </usage>
        </example>
      </tag>
  
      <tag>
        <name>isSessionValid</name>
        <tag-class>org.apache.taglibs.request.IsSessionValidTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>isSessionValid</display-name>
    
        <description>
          Test whether the HTTP session is valid.
        </description>
    
        <summary>
          Test whether the HTTP session is valid.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
        
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the isSessionValid tag includes body
            of tag if session is not valid. Default value is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Display whether the clients session is valid
            </comment>
            <code>   
  <![CDATA[      
  <req:isSessionValid>
    This session is valid.
  </req:isSessionValid>
  <req:isSessionValid value="false">
    This session is not valid.
  </req:isSessionValid>
  ]]>       
            </code>
          </usage>
        </example>
      </tag>
  
      <tag>
        <name>isUserInRole</name>
        <tag-class>org.apache.taglibs.request.IsUserInRoleTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>isUserInRole</display-name>
    
        <description>
          Test whether the remote user is in a role.
        </description>
    
        <summary>
          Test whether the remote user is in a role.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
        
        <attribute>                      
          <name>role</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of role to test remote user with.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the isUserInRole tag includes body
            of tag if user is not in role. Default value is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Display whether the remote user is in role "admin"
            </comment>
            <code>   
  <![CDATA[      
  <req:isUserInRole role="admin">
    The remote user is in role "admin".
  </req:isUserInRole>
  <req:isUserInRole role="admin" value="false">
    The remote user is not in role "admin".
  </req:isUserInRole>
  ]]>       
            </code>
          </usage>
        </example>
      </tag>
  
    </tagtoc>
  
    <tagtoc name="Request Attribute Tags">
  
      <tag>
        <name>attribute</name>
        <tag-class>org.apache.taglibs.request.AttributeTag</tag-class>
        <body-content>empty</body-content>
        <display-name>attribute</display-name>
  
        <description>
          Get the value of a single request attribute.
        </description>
  
        <summary>Get the value of a single request attribute.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request attribute to get.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Output the value of the request attribute with name "test1"
            </comment>
            <code>
  <![CDATA[
  <req:attribute name="test1"/>
  ]]>
            </code>
          </usage>
        </example>
  
      </tag>
  
      <tag>
        <name>attributes</name>
        <tag-class>org.apache.taglibs.request.AttributesTag</tag-class>
        <tei-class>org.apache.taglibs.request.AttributesTEI</tei-class>
        <body-content>JSP</body-content>
        <display-name>attributes</display-name>
  
        <description>
          Loop through all request attributes.
        </description>
  
        <summary>Loop through all request attributes.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <variable>
          <name-from-attribute>id</name-from-attribute>
          <variable-class>org.apache.taglibs.request.AttributesTag</variable-class>
          <declare>true</declare>
          <scope>NESTED</scope>
          <description>Request Attribute Bean</description>
          <availability>1.0</availability>
  
          <beanprop>
            <name>name</name>
            <get>Yes</get>
            <set>No</set>
            <description>
              Request attribute name.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>value</name>
            <get>Yes</get>
            <set>No</set>
            <description>
              Request attribute value.
            </description>
            <availability>1.0</availability>
          </beanprop>
        </variable>
  
        <attribute>
          <name>id</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Script variable id for use with standard <B>jsp:getProperty</B> tag.
          </description>
          <availability>1.0</availability>
        </attribute>
         
        <example>
          <usage>
            <comment>
              Output the name and value of all the request attributes
            </comment>
            <code>
  <![CDATA[
  <req:attributes id="loop">
  Name: <jsp:getProperty name="loop" property="name"/>
  Value: <jsp:getProperty name="loop" property="value"/>
  </req:attributes>
  ]]>    
            </code>
          </usage>
        </example>
         
      </tag>
  
      <tag>
        <name>equalsAttribute</name>
        <tag-class>org.apache.taglibs.request.EqualsAttributeTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>equalsAttribute</display-name>
   
        <description>
          Includes the body of the tag if the request attribute value equals
          the match attribute.
        </description>
   
        <summary>
          See if a request attribute equals some value.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
   
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request attribute.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the equalsAttribute tag includes body
            of tag if request attribute does not equal the match attribute.
            Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>match</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            String to test for equality with request attribute value.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>ignoreCase</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Set to <b>true</b> to test for equality while ignoring
            the case of the letters.  Set to <b>false</b> to test
            for case sensitive equality.  Default is <b>false</b>
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Determine if the request attribute "test1" value equals "blah"
            </comment>
            <code>
  <![CDATA[
  <req:equalsAttribute name="test1" match="blah">
    The request attribute with name test1 matches "blah".
  </req:equalsAttribute>
  <req:equalsAttribute name="test1" match="blah" value="false">
    The request attribute with name test1 does not match "blah".
  </req:equalsAttribute>
  ]]>
            </code>
          </usage>
        </example>
  
      </tag>
  
      <tag>
        <name>existsAttribute</name>
        <tag-class>org.apache.taglibs.request.ExistsAttributeTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>existsAttribute</display-name>
    
        <description>
          Includes the body of the tag if the request attribute exists.
        </description>
    
        <summary>
          See if a request attribute exists.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
    
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request attribute.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the existsAttribute tag includes body
            of tag if request attribute does not exist. Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
              
        <example>
          <usage>
            <comment>
              Determine if the "test1" Request attribute exists
            </comment>
            <code>
  <![CDATA[
  <req:existsAttribute name="test1">
   The request attribute with name test1 exists.
  </req:existsAttribute>
  <req:existsAttribute name="test1" value="false">
   The request attribute with name test1 does not exist.
  </req:existsAttribute>
  ]]>         
            </code>
          </usage>
        </example>
           
      </tag>
  
      <tag>
        <name>removeAttribute</name>
        <tag-class>org.apache.taglibs.request.RemoveAttributeTag</tag-class>
        <body-content>empty</body-content>    
        <display-name>removeAttribute</display-name>
  
        <description>
          Removes an attribute from a request.
        </description>
    
        <summary>Removes an attribute from a request.</summary>
        <availability>1.0</availability> 
        <restrictions>None</restrictions>
    
        <attribute>
          <name>name</name> 
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request attribute to remove.
          </description>
          <availability>1.0</availability>
        </attribute>
        
        <example>
          <usage> 
            <comment>
              Remove the request attribute with name "test1"
            </comment>
            <code>   
  <![CDATA[
  <req:removeAttribute name="test1"/>
  ]]>
            </code>
          </usage>
        </example>
                 
      </tag>
  
      <tag>
        <name>setAttribute</name>
        <tag-class>org.apache.taglibs.request.SetAttributeTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>setAttribute</display-name>
  
        <description>
          Sets the value of the request attribute to the content of the tag body.
        </description>
   
        <summary>Sets the value of a request attribute.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
    
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request attribute to set value for.
          </description> 
          <availability>1.0</availability>
        </attribute>
      
        <example>
          <usage>
            <comment>
              Set the request attribute with name "test1"
            </comment> 
            <code>   
  <![CDATA[
  <req:setAttribute name="test1">Test Value</req:setAttribute>
  ]]> 
            </code>
          </usage>
        </example>
  
      </tag>
  
    </tagtoc>
  
    <tagtoc name="Request Cookie Tags">
  
      <tag>
        <name>cookie</name>
        <tag-class>org.apache.taglibs.request.CookieTag</tag-class>
        <body-content>empty</body-content>
        <display-name>cookie</display-name>
  
        <description>
          Get the value of a single request cookie.
        </description>  
          
        <summary>Get the value of a single request cookie.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
       
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue> 
          <description>
            Name of request cookie to get.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Output the value of the request cookie with name "test1"
            </comment> 
            <code>
  <![CDATA[
  <req:cookie name="test1"/> 
  ]]>
            </code>
          </usage>
        </example>
    
      </tag>
  
      <tag>
        <name>cookies</name>
        <tag-class>org.apache.taglibs.request.CookiesTag</tag-class>
        <tei-class>org.apache.taglibs.request.CookiesTEI</tei-class>
        <body-content>JSP</body-content>
        <display-name>cookies</display-name>
        
        <description>
          Loop through all request cookies, or get the properties
          of a single cookie.
        </description>
          
        <summary>Loop through all request cookies.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
          
        <variable>
          <name-from-cookie>id</name-from-cookie> 
          <variable-class>org.apache.taglibs.request.CookiesTag</variable-class>           
          <declare>true</declare>
          <scope>NESTED</scope>
          <description>Request Cookie Bean</description>
          <availability>1.0</availability>                               
      
          <beanprop>
            <name>comment</name>
            <get>Yes</get>
            <set>No</set>
            <description>
              Cookie comment.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>domain</name>    
            <get>Yes</get>
            <set>No</set>
            <description>
              Cookie domain.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>maxAge</name>    
            <get>Yes</get>
            <set>No</set>
            <description>
              Cookie maximum age in seconds, -1 indicates the cookie will
              persist until client browser shutdown.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>name</name>
            <get>Yes</get>
            <set>No</set>
            <description>
              Cookie name.
            </description>
            <availability>1.0</availability>
          </beanprop> 
          <beanprop>
            <name>path</name>    
            <get>Yes</get>
            <set>No</set>
            <description>
              Cookie path on server.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>secure</name>    
            <get>Yes</get>
            <set>No</set>
            <description>
              Returns "1" if the browser is sending cookies only over a secure
              protocol, or "0" if the browser can send cookies using any
              protocol.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>value</name>
            <get>Yes</get>
            <set>No</set>
            <description>
              Request cookie value.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>version</name>    
            <get>Yes</get>
            <set>No</set>
            <description>
              Version of the protocol this cookie complies with.
            </description>
            <availability>1.0</availability>
          </beanprop>
        </variable>
              
        <attribute>
          <name>id</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Script variable id for use with standard <B>jsp:getProperty</B> tag.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>name</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of a single cookie to get the properties of.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Output the name and value of all the request cookies
            </comment>
            <code>
  <![CDATA[   
  <req:cookies id="loop">
  Name: <jsp:getProperty name="loop" property="name"/>
  Value: <jsp:getProperty name="loop" property="value"/>
  </req:cookies>
  ]]>         
            </code>
          </usage>
          <usage>
            <comment>
              Get the name and value of a single cookie named test1
            </comment>
            <code>   
  <![CDATA[      
  <req:cookies id="single" name="test1">
  Name: <jsp:getProperty name="single" property="name"/>  
  Value: <jsp:getProperty name="single" property="value"/>
  </req:cookies>
  ]]>          
            </code>
          </usage>
        </example>
        
      </tag>
  
      <tag>
        <name>equalsCookie</name>
        <tag-class>org.apache.taglibs.request.EqualsCookieTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>equalsCookie</display-name>
    
        <description>
          Includes the body of the tag if the request cookie value equals
          the <b>match</b> attribute.
        </description>
          
        <summary>
          See if a request cookie equals some value.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
         
        <attribute>
          <name>name</name>
          <required>yes</required> 
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request cookie.
          </description>
          <availability>1.0</availability>              
        </attribute>
        
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the equalsCookie tag includes body
            of tag if request cookie does not equal the <b>match</b> attribute.
            Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
              
        <attribute>
          <name>match</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            String to test for equality with request cookie value.
          </description>
          <availability>1.0</availability>
        </attribute>
              
        <attribute>
          <name>ignoreCase</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Set to <b>true</b> to test for equality while ignoring
            the case of the letters.  Set to <b>false</b> to test
            for case sensitive equality.  Default is <b>false</b>
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Determine if the request cookie "test1" value equals "blah"
            </comment>
            <code>
  <![CDATA[
  <req:equalsCookie name="test1" match="blah">
    The request cookie with name test1 matches "blah".
  </req:equalsCookie>
  <req:equalsCookie name="test1" match="blah" value="false">
    The request cookie with name test1 does not match "blah".
  </req:equalsCookie>
  ]]>
            </code>
          </usage>
        </example>
  
      </tag>
  
      <tag>
        <name>existsCookie</name>
        <tag-class>org.apache.taglibs.request.ExistsCookieTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>existsCookie</display-name>
  
        <description>
          Includes the body of the tag if the request cookie exists.
        </description>
  
        <summary>
          See if a request cookie exists.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request cookie.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the existsCookie tag includes body
            of tag if request cookie does not exist. Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Determine if the "test1" Request cookie exists
            </comment>
            <code>
  <![CDATA[
  <req:existsCookie name="test1">
   The request cookie with name test1 exists.
  </req:existsCookie>
  <req:existsCookie name="test1" value="false">
   The request cookie with name test1 does not exist.
  </req:existsCookie>
  ]]>     
            </code>
          </usage>
        </example>
      </tag>
    </tagtoc>
  
    <tagtoc name="Request Header Tags">
    
      <tag>
        <name>header</name>
        <tag-class>org.apache.taglibs.request.HeaderTag</tag-class>
        <body-content>empty</body-content>
        <display-name>header</display-name>
    
        <description>
          Get the value of a single request HTTP header.
        </description>    
          
        <summary>Get the value of a single request HTTP header.</summary>
        <availability>1.0</availability> 
        <restrictions>None</restrictions> 
          
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>   
            Name of request header to get.
          </description>  
          <availability>1.0</availability>
        </attribute> 
  
        <example>
          <usage>
            <comment>
              Output the value of the request header with name "User-Agent"
            </comment>    
            <code>    
  <![CDATA[      
  <req:header name="User-Agent"/>
  ]]>                     
            </code>
          </usage>
        </example>
                 
      </tag>
  
      <tag>
        <name>headers</name>
        <tag-class>org.apache.taglibs.request.HeadersTag</tag-class>
        <tei-class>org.apache.taglibs.request.HeadersTEI</tei-class>
        <body-content>JSP</body-content>
        <display-name>headers</display-name>
  
        <description>
          Loop through all request HTTP headers, or get the properties
          of a single header.
        </description>
  
        <summary>Loop through all request headers.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <variable>
          <name-from-header>id</name-from-header>
          <variable-class>org.apache.taglibs.request.HeadersTag</variable-class>
          <declare>true</declare>
          <scope>NESTED</scope> 
          <description>Request Header Bean</description>
          <availability>1.0</availability>    
     
          <beanprop>
            <name>name</name>
            <get>Yes</get>     
            <set>No</set>
            <description>
              >Request header name.
            </description>  
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>header</name>   
            <get>Yes</get>
            <set>No</set>
            <description>
              Request header value as a string.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>dateHeader</name>   
            <get>Yes</get>
            <set>No</set>
            <description>
              Request header value for a date,
              measured in milliseconds since midnight January 1, 1970 GMT.
            </description>
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>intHeader</name>
            <get>Yes</get>
            <set>No</set>
            <description>
              Request header value for an integer.
            </description>
            <availability>1.0</availability>
          </beanprop>
        </variable>
  
        <attribute>
          <name>id</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Script variable id for use with standard <B>jsp:getProperty</B> tag.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>name</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of a single header to get the properties of.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Output the name and value of all the request headers
            </comment>
            <code>
  <![CDATA[
  <req:headers id="loop">
  Name: <jsp:getProperty name="loop" property="name"/>
  Value: <jsp:getProperty name="loop" property="header"/>
  </req:headers>
  ]]>     
            </code>
          </usage>
          <usage>
            <comment>
              Output the name and value of the User-Agent request header
            </comment>
            <code>
  <![CDATA[
  <req:headers id="single" name="User-Agent">
  Name: <jsp:getProperty name="single" property="name"/>
  Value: <jsp:getProperty name="single" property="header"/>
  </req:headers>
  ]]>     
            </code>
          </usage>
        </example>
       
      </tag>
  
      <tag>
        <name>equalsHeader</name>
        <tag-class>org.apache.taglibs.request.EqualsHeaderTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>equalsHeader</display-name>
  
        <description>
          Includes the body of the tag if the request header value equals
          the <b>match</b> attribute.
        </description>
  
        <summary>
          See if a request header equals some value.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request header.
          </description>
          <availability>1.0</availability>
        </attribute>
          
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the equalsHeader tag includes body
            of tag if request header does not equal the <b>match</b> attribute.
            Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
          
        <attribute>
          <name>match</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            String to test for equality with request header value.
          </description>
          <availability>1.0</availability>
        </attribute>
          
        <attribute>
          <name>ignoreCase</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Set to <b>true</b> to test for equality while ignoring
            the case of the letters.  Set to <b>false</b> to test
            for case sensitive equality.  Default is <b>false</b>
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Determine if the request header "User-Agent" value equals "Netscape"
            </comment>
            <code>
  <![CDATA[
  <req:equalsHeader name="User-Agent" match="Netscape">
    The request header with name User-Agent matches "Netscape".
  </req:equalsHeader>
  <req:equalsHeader name="User-Agent" match="Netscape" value="false">
    The request header with name User-Agent does not match "Netscape".
  </req:equalsHeader>
  ]]>
            </code>
          </usage>
        </example>
  
      </tag>
  
      <tag>
        <name>existsHeader</name>
        <tag-class>org.apache.taglibs.request.ExistsHeaderTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>existsHeader</display-name>
  
        <description>
          Includes the body of the tag if the request header exists.
        </description>
  
        <summary>
          See if a request header exists.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request header.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the existsHeader tag includes body
            of tag if request header does not exist. Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
                   
        <example>
          <usage>
            <comment>
              Determine if the "User-Agent" Request header exists
            </comment>
            <code>
  <![CDATA[      
  <req:existsHeader name="User-Agent">
   The request header with name User-Agent exists.
  </req:existsHeader>                       
  <req:existsHeader name="User-Agent" value="false">
   The request header with name User-Agent does not exist.
  </req:existsHeader>                         
  ]]>               
            </code>
          </usage>
        </example>
      </tag>
  
      <tag>
        <name>headerValues</name>
        <tag-class>org.apache.taglibs.request.HeaderValuesTag</tag-class>
        <tei-class>org.apache.taglibs.request.HeaderValuesTEI</tei-class>
        <body-content>JSP</body-content>
        <display-name>headerValues</display-name>
  
        <description>
          Loop through all the values for an HTTP header which has multiple
          values.
        </description>
  
        <summary>Get the name and values of a single header.</summary>
        <availability>1.0</availability>
        <restrictions>Must be nested inside a <b>headers</b> tag.</restrictions>
  
        <variable>
          <name-from-header>id</name-from-header>
          <variable-class>org.apache.taglibs.request.HeadersTag</variable-class>
          <declare>true</declare>
          <scope>NESTED</scope>
          <description>Header Value Bean</description>
          <availability>1.0</availability>
  
          <beanprop>
            <name>header</name>
            <get>Yes</get>
            <set>No</set>
            <description>
              Request header value as a string.
            </description>
            <availability>1.0</availability>
          </beanprop>
        </variable>
  
        <attribute>
          <name>id</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Script variable id for use with standard <B>jsp:getProperty</B> tag.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Output all the values of the HTTP Language header
            </comment>
            <code>
  <![CDATA[
  <req:headers id="single" name="Language">
   <req:headerValues id="values">
    Value: <jsp:getProperty name="values" property="header"/>
   </req:headerValues>
  </req:headers>
  ]]>
            </code>
          </usage>
        </example>
      </tag>
  
    </tagtoc>
  
    <tagtoc name="Request Parameter Tags">
    
      <tag>
        <name>parameter</name>
        <tag-class>org.apache.taglibs.request.ParameterTag</tag-class>
        <body-content>empty</body-content>
        <display-name>parameter</display-name>
    
        <description>
          Get the value of a single request HTTP parameter.
        </description>    
          
        <summary>Get the value of a single request HTTP parameter.</summary>
        <availability>1.0</availability> 
        <restrictions>None</restrictions> 
          
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>   
            Name of request parameter to get.
          </description>  
          <availability>1.0</availability>
        </attribute> 
  
        <example>
          <usage>
            <comment>
              Output the value of the request parameter with name "test1"
            </comment>    
            <code>    
  <![CDATA[      
  <req:parameter name="test1"/>
  ]]>                     
            </code>
          </usage>
        </example>
                 
      </tag>
  
      <tag>
        <name>parameters</name>
        <tag-class>org.apache.taglibs.request.ParametersTag</tag-class>
        <tei-class>org.apache.taglibs.request.ParametersTEI</tei-class>
        <body-content>JSP</body-content>
        <display-name>parameters</display-name>
  
        <description>
          Loop through all request HTTP parameters, or get the properties
          of a single parameter.
        </description>
  
        <summary>Loop through all request parameters.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <variable>
          <name-from-parameter>id</name-from-parameter>
          <variable-class>org.apache.taglibs.request.ParametersTag</variable-class>
          <declare>true</declare>
          <scope>NESTED</scope> 
          <description>Request Parameter Bean</description>
          <availability>1.0</availability>    
     
          <beanprop>
            <name>name</name>
            <get>Yes</get>     
            <set>No</set>
            <description>
              >Request parameter name.
            </description>  
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>parameter</name>   
            <get>Yes</get>
            <set>No</set>
            <description>
              Request parameter value as a string.
            </description>
            <availability>1.0</availability>
          </beanprop>
        </variable>
  
        <attribute>
          <name>id</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Script variable id for use with standard <B>jsp:getProperty</B> tag.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>name</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of a single parameter to get the properties of.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Output the name and value of all the request parameters
            </comment>
            <code>
  <![CDATA[
  <req:parameters id="loop">
  Name: <jsp:getProperty name="loop" property="name"/>
  Value: <jsp:getProperty name="loop" property="value"/>
  </req:parameters>
  ]]>     
            </code>
          </usage>
          <usage>
            <comment>
              Output the name and value of the test1 request parameter
            </comment>
            <code>
  <![CDATA[
  <req:parameters id="single" name="test1">
  Name: <jsp:getProperty name="single" property="name"/>
  Value: <jsp:getProperty name="single" property="value"/>
  </req:parameters>
  ]]>     
            </code>
          </usage>
        </example>
       
      </tag>
  
      <tag>
        <name>equalsParameter</name>
        <tag-class>org.apache.taglibs.request.EqualsParameterTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>equalsParameter</display-name>
  
        <description>
          Includes the body of the tag if the request parameter value equals
          the <b>match</b> attribute.
        </description>
  
        <summary>
          See if a request parameter equals some value.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request parameter.
          </description>
          <availability>1.0</availability>
        </attribute>
          
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the equalsParameter tag includes body
            of tag if request parameter does not equal the <b>match</b> attribute.
            Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
          
        <attribute>
          <name>match</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            String to test for equality with request parameter value.
          </description>
          <availability>1.0</availability>
        </attribute>
          
        <attribute>
          <name>ignoreCase</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Set to <b>true</b> to test for equality while ignoring
            the case of the letters.  Set to <b>false</b> to test
            for case sensitive equality.  Default is <b>false</b>
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Determine if the request parameter "test1" value equals "blah"
            </comment>
            <code>
  <![CDATA[
  <req:equalsParameter name="test1" match="blah">
    The request parameter with name test1 matches "blah".
  </req:equalsParameter>
  <req:equalsParameter name="test1" match="blah" value="false">
    The request parameter with name test1 does not match "blah".
  </req:equalsParameter>
  ]]>
            </code>
          </usage>
        </example>
  
      </tag>
  
      <tag>
        <name>existsParameter</name>
        <tag-class>org.apache.taglibs.request.ExistsParameterTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>existsParameter</display-name>
  
        <description>
          Includes the body of the tag if the request parameter exists.
        </description>
  
        <summary>
          See if a request parameter exists.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request parameter.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the existsParameter tag includes body
            of tag if request parameter does not exist. Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
                   
        <example>
          <usage>
            <comment>
              Determine if the "test1" Request parameter exists
            </comment>
            <code>
  <![CDATA[      
  <req:existsParameter name="test1">
   The request parameter with name test1 exists.
  </req:existsParameter>                       
  <req:existsParameter name="test1" value="false">
   The request parameter with name test1 does not exist.
  </req:existsParameter>                         
  ]]>               
            </code>
          </usage>
        </example>
      </tag>
  
      <tag>
        <name>parameterValues</name>
        <tag-class>org.apache.taglibs.request.ParameterValuesTag</tag-class>
        <tei-class>org.apache.taglibs.request.ParameterValuesTEI</tei-class>
        <body-content>JSP</body-content>
        <display-name>parameterValues</display-name>
  
        <description>
          Loop through all the values for an HTTP parameter which has multiple
          values.
        </description>
  
        <summary>Get the name and values of a single parameter.</summary>
        <availability>1.0</availability>
        <restrictions>Must be nested inside a <b>parameters</b> tag.</restrictions>
  
        <variable>
          <name-from-parameter>id</name-from-parameter>
          <variable-class>org.apache.taglibs.request.ParametersTag</variable-class>
          <declare>true</declare>
          <scope>NESTED</scope>
          <description>Parameter Value Bean</description>
          <availability>1.0</availability>
  
          <beanprop>
            <name>parameter</name>
            <get>Yes</get>
            <set>No</set>
            <description>
              Request parameter value as a string.
            </description>
            <availability>1.0</availability>
          </beanprop>
        </variable>
  
        <attribute>
          <name>id</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Script variable id for use with standard <B>jsp:getProperty</B> tag.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Output all the values of the HTTP test1 parameter
            </comment>
            <code>
  <![CDATA[
  <req:parameters id="single" name="test1">
   <req:parameterValues id="values">
    Value: <jsp:getProperty name="values" property="value"/>
   </req:parameterValues>
  </req:parameters>
  ]]>
            </code>
          </usage>
        </example>
      </tag>
  
    </tagtoc>
  
    <tagtoc name="Request QueryString Tags">
    
      <tag>
        <name>queryString</name>
        <tag-class>org.apache.taglibs.request.QueryStringTag</tag-class>
        <body-content>empty</body-content>
        <display-name>queryString</display-name>
    
        <description>
          Get the value of a single request HTTP queryString.
        </description>    
          
        <summary>Get the value of a single request HTTP queryString.</summary>
        <availability>1.0</availability> 
        <restrictions>None</restrictions> 
          
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>   
            Name of request queryString to get.
          </description>  
          <availability>1.0</availability>
        </attribute> 
  
        <example>
          <usage>
            <comment>
              Output the value of the request queryString with name "test1"
            </comment>    
            <code>    
  <![CDATA[      
  <req:queryString name="test1"/>
  ]]>                     
            </code>
          </usage>
        </example>
                 
      </tag>
  
      <tag>
        <name>queryStrings</name>
        <tag-class>org.apache.taglibs.request.QueryStringsTag</tag-class>
        <tei-class>org.apache.taglibs.request.QueryStringsTEI</tei-class>
        <body-content>JSP</body-content>
        <display-name>queryStrings</display-name>
  
        <description>
          Loop through all request HTTP queryStrings, or get the properties
          of a single queryString.
        </description>
  
        <summary>Loop through all request queryStrings.</summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <variable>
          <name-from-queryString>id</name-from-queryString>
          <variable-class>org.apache.taglibs.request.QueryStringsTag</variable-class>
          <declare>true</declare>
          <scope>NESTED</scope> 
          <description>Request QueryString Bean</description>
          <availability>1.0</availability>    
     
          <beanprop>
            <name>name</name>
            <get>Yes</get>     
            <set>No</set>
            <description>
              >Request queryString name.
            </description>  
            <availability>1.0</availability>
          </beanprop>
          <beanprop>
            <name>queryString</name>   
            <get>Yes</get>
            <set>No</set>
            <description>
              Request queryString value as a string.
            </description>
            <availability>1.0</availability>
          </beanprop>
        </variable>
  
        <attribute>
          <name>id</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Script variable id for use with standard <B>jsp:getProperty</B> tag.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>name</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of a single queryString to get the properties of.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <example>
          <usage>
            <comment>
              Output the name and value of all the request queryStrings
            </comment>
            <code>
  <![CDATA[
  <req:queryStrings id="loop">
  Name: <jsp:getProperty name="loop" property="name"/>
  Value: <jsp:getProperty name="loop" property="value"/>
  </req:queryStrings>
  ]]>     
            </code>
          </usage>
          <usage>
            <comment>
              Output the name and value of the test1 request queryString
            </comment>
            <code>
  <![CDATA[
  <req:queryStrings id="single" name="test1">
  Name: <jsp:getProperty name="single" property="name"/>
  Value: <jsp:getProperty name="single" property="value"/>
  </req:queryStrings>
  ]]>     
            </code>
          </usage>
        </example>
       
      </tag>
  
      <tag>
        <name>existsQueryString</name>
        <tag-class>org.apache.taglibs.request.ExistsQueryStringTag</tag-class>
        <body-content>JSP</body-content>
        <display-name>existsQueryString</display-name>
  
        <description>
          Includes the body of the tag if the request queryString exists.
        </description>
  
        <summary>
          See if a request queryString exists.
        </summary>
        <availability>1.0</availability>
        <restrictions>None</restrictions>
  
        <attribute>
          <name>name</name>
          <required>yes</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            Name of request queryString.
          </description>
          <availability>1.0</availability>
        </attribute>
  
        <attribute>
          <name>value</name>
          <required>no</required>
          <rtexprvalue>no</rtexprvalue>
          <description>
            If value is set to <b>false</b> the existsQueryString tag includes
            body of tag if request queryString does not exist.
            Default is <b>true</b>.
          </description>
          <availability>1.0</availability>
        </attribute>
                   
        <example>
          <usage>
            <comment>
              Determine if the "test1" Request queryString exists
            </comment>
            <code>
  <![CDATA[      
  <req:existsQueryString name="test1">
   The request queryString with name test1 exists.
  </req:existsQueryString>                       
  <req:existsQueryString name="test1" value="false">
   The request queryString with name test1 does not exist.
  </req:existsQueryString>                         
  ]]>               
            </code>
          </usage>
        </example>
      </tag>
  
    </tagtoc>
  
  </taglib>
  
  <revision release="Pre Beta" date="07/10/2001">
    <description>
      Clean up of tag library prior to performing a beta
      release, moving toward an official release.
    </description>
    <section name="New Tags">
      <item>
        Added the <b>equalsAttribute</b> tag.
      </item>
      <item>                
        Added the <b>equalsCookie</b> tag.
      </item>
      <item>                
        Added the <b>equalsHeader</b> tag.   
      </item>
      <item>
        Added the <b>equalsParameter</b> tag.
      </item>
    </section>
    <section name="Tag Changes">
      <item>
        Changed the name of the <b>issecure</b> tag to
        <b>isSecure</b>.
      </item>
      <item>
        Changed the name of the <b>issessionfromcookie</b> tag to       
        <b>isSessionFromCookie</b>.       
      </item>
      <item>
        Changed the name of the <b>issessionfromurl</b> tag to       
        <b>isSessionFromUrl</b>.       
      </item>
      <item>
        Changed the name of the <b>issessionvalid</b> tag to       
        <b>isSessionValid</b>.       
      </item>
      <item>
        Changed the name of the <b>isuserinrole</b> tag to       
        <b>isUserInRole</b>.       
      </item>
      <item>
        Changed the name of the <b>existsattribute</b> tag to
        <b>existsAttribute</b>.
      </item>
      <item>
        Changed the name of the <b>removeattribute</b> tag to
        <b>removeAttribute</b>.
      </item>
      <item>
        Changed the name of the <b>setattribute</b> tag to
        <b>setAttribute</b>.
      </item>
      <item>
        Changed the name of the <b>existscookie</b> tag to
        <b>existsCookie</b>. 
      </item>
      <item>
        Changed the name of the <b>existsheader</b> tag to   
        <b>existsHeader</b>.    
      </item>
      <item>
        Changed the name of the <b>headervalues</b> tag to
        <b>headerValues</b>.
      </item>
      <item>
        Changed the name of the <b>existsparameter</b> tag to
        <b>existsParameter</b>.       
      </item>
      <item>
        Changed the name of the <b>parametervalues</b> tag to
        <b>parameterValues</b>.
      </item>
      <item>
        Changed the name of the <b>querystring</b> tag to
        <b>queryString</b>.
      </item>
      <item>
        Changed the name of the <b>querystrings</b> tag to 
        <b>queryStrings</b>. 
      </item>
      <item>
        Changed the name of the <b>existsquerystring</b> tag to 
        <b>existsQueryString</b>. 
      </item>
    </section>
  </revision>
  
  <revision release="Development" date="12/03/2000"> 
    <description>
      Update to initial version of tag library before Jakarta-Taglibs
      had an official release policy for tag libraries.
    </description>
    <section name="New Features">
      <item>
        Added the property <b>requestURL</b> to the <b>request</b> tag.
      </item>
    </section>
  </revision>
  
  <revision release="Development" date="12/03/2000">
    <description>
      Initial version of tag library before Jakarta-Taglibs 
      had an official release policy for tag libraries.
    </description>
  </revision>
  
  
  </document>