<?xml version="1.0" encoding="ISO-8859-1" ?>

<!--
 Copyright 2004 Sun Microsystems, Inc. All rights reserved.
 SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
-->

<!DOCTYPE taglib
  PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
  "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">


<taglib>


  <!-- ========== Tag Library Description Elements ========================= -->


  <tlib-version>1.0</tlib-version>
  <jsp-version>1.2</jsp-version>
  <short-name>f</short-name>
  <uri>http://java.sun.com/jsf/core</uri>
  <description>
    The core JavaServer Faces custom actions that are independent of
    any particular RenderKit.
  </description>


  <!-- ========== Tag Library Validator ==================================== -->


  <!-- This TLV verifies that a Faces tag has an ID if it is a 
       child or sibling of a JSTL conditional or iterator tag  -->
  <validator>
    <validator-class>
      com.sun.faces.taglib.jsf_core.CoreValidator
    </validator-class>
    <description>
      This tag library validator verifies certain semantic restrictions on the
      use of JavaServer Faces component actions, including the requirement that
      component tags nested inside a JSTL conditional tag must have a value
      specified for the "id" attribute.
    </description>
  </validator>


  <!-- ============== Configuration Listener ============== -->


  <!--
        This ServletContextListener initializes the runtime environment
        of the JavaServer Faces Reference Implementation when a web
        application including it is initialized by the container.
  -->
  <listener>
    <listener-class>com.sun.faces.config.ConfigureListener</listener-class>
  </listener>


  <!-- ========== Tag Descriptions ========================================= -->


  <tag>

    <name>actionListener</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ActionListenerTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Register an ActionListener instance on the UIComponent associated
      with the closest parent UIComponent custom action.
    </description>

    <attribute>
      <name>type</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Fully qualified Java class name of an ActionListener to be
        created and registered.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>attribute</name>
    <tag-class>javax.faces.webapp.AttributeTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Add an attribute to the UIComponent associated with the closest
      parent UIComponent custom action.
    </description>

    <attribute>
      <name>name</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        The name of the component attribute to be set.
      </description>
    </attribute>

    <attribute>
      <name>value</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        The value of the component attribute to be set.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>convertDateTime</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ConvertDateTimeTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Register a DateTimeConverter instance on the UIComponent associated
      with the closest parent UIComponent custom action.
    </description>

    <attribute>
      <name>dateStyle</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Predefined formatting style which determines how the date
        component of a date string is to be formatted and parsed.
        Applied only if type is "date" or "both".  Valid values
        are "default", "short", "medium", "long", and "full".
        Default value is "default".
      </description>
    </attribute>

    <attribute>
      <name>locale</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Locale whose predefined styles for dates and times are used
        during formatting or parsing.  If not specified, the Locale
        returned by FacesContext.getViewRoot().getLocale() will be used.
        Value must be either a VB expression that evaluates to a
        java.util.Locale instance, or a String that is valid to pass as
        the first argument to the constructor java.util.Locale(String
        language, String country).  The empty string is passed as the
        second argument.
      </description>
    </attribute>

    <attribute>
      <name>pattern</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Custom formatting pattern which determines how the
        date/time string should be formatted and parsed.
      </description>
    </attribute>

    <attribute>
      <name>timeStyle</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Predefined formatting style which determines how the
        time component of a date string is to be formatted and
        parsed.  Applied only if type is "time" or "both".
        Valid values are "default", "short", "medium", "long",
        and "full".  Default value is "default".
      </description>
    </attribute>

    <attribute>
      <name>timeZone</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Time zone in which to interpret any time information in the date
        String.  Value must be either a VB expression that evaluates to
        a java.util.TimeVone instance, or a String that is a timezone ID
        as described in the javadocs for
        java.util.TimeZone.getTimeZone().
      </description>
    </attribute>

    <attribute>
      <name>type</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Specifies what contents the string value will be
        formatted to include, or parsed expecting.  Valid
        values are "date", "time", and "both".  Default
        value is "date".
      </description>
    </attribute>

  </tag>

  <tag>

    <name>convertNumber</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ConvertNumberTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Register a NumberConverter instance on the UIComponent associated
      with the closest parent UIComponent custom action.
    </description>

    <attribute>
      <name>currencyCode</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        ISO 4217 currency code, applied only when
        formatting currencies.
      </description>
    </attribute>

    <attribute>
      <name>currencySymbol</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Currency symbol, applied only when formatting
        currencies.
      </description>
    </attribute>

    <attribute>
      <name>groupingUsed</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Flag specifying whether formatted output will
        contain grouping separators.  Expressions must
        evaluate to a boolean.  Default value
        is true.
      </description>
    </attribute>

    <attribute>
      <name>integerOnly</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Flag specifying whether only the integer part
        of the value will be formatted and parsed.
        Expressions must evaluate to a boolean.
        Default value is false.
      </description>
    </attribute>

    <attribute>
      <name>locale</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Locale whose predefined styles for numbers
        are used during formatting and parsing.  If
        not specified, the Locale returned by
        FacesContext.getViewRoot().getLocale()
        will be used.  Expressions must evaluate to
        a java.util.Locale.
      </description>
    </attribute>

    <attribute>
      <name>maxFractionDigits</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Maximum number of digits that will be formatted
        in the fractional portion of the output.  Expressions
        must evaluate to an int.
      </description>
    </attribute>

    <attribute>
      <name>maxIntegerDigits</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Maximum number of digits that will be formatted
        in the integer portion of the output.  Expressions
        must evaluate to an int.
      </description>
    </attribute>

    <attribute>
      <name>minFractionDigits</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Minimum number of digits that will be formatted
        in the fractional portion of the output.  Expressions
        must evaluate to an int.
      </description>
    </attribute>

    <attribute>
      <name>minIntegerDigits</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Minimum number of digits that will be formatted
        in the integer portion of the output.  Expressions
        must evaluate to an int.
      </description>
    </attribute>

    <attribute>
      <name>pattern</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Custom formatting pattern which determins how the
        number string should be formatted and parsed.
      </description>
    </attribute>

    <attribute>
      <name>type</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Specifies how the number string will be formatted
        and parsed.  Valid values are "number", "currency",
        and "percentage".  Default value is "number".
      </description>
    </attribute>

  </tag>


  <tag>

    <name>converter</name>
    <tag-class>javax.faces.webapp.ConverterTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Register a named Converter instance on the UIComponent
      associated with the closest parent UIComponent custom action.
    </description>

    <attribute>
      <name>converterId</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Converter identifier of the Converter instance to be
        created and registered.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>facet</name>
    <tag-class>javax.faces.webapp.FacetTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>JSP</body-content>
    <description>
      Register a named facet on the UIComponent associated with
      the closest parent UIComponent custom action.
    </description>

    <attribute>
      <name>name</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Name of the facet to be created.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>loadBundle</name>
    <tag-class>com.sun.faces.taglib.jsf_core.LoadBundleTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Load a resource bundle localized for the Locale
      of the current view, and expose it (as a Map) in
      the request attributes of the current request.
    </description>

    <attribute>
      <name>basename</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Base name of the resource bundle
        to be loaded.
      </description>
    </attribute>

    <attribute>
      <name>var</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Name of a request scope attribute under which
        the resource bundle will be exposed as a Map.
      </description>
    </attribute>
  </tag>


  <tag>

    <name>param</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ParameterTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>JSP</body-content>
    <description>
      Add a child UIParameter component to the UIComponent
      associated with the closed parent UIComponent custom
      action.
    </description>

    <attribute>
      <name>binding</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Value binding expression to a backing bean
        property bound to the component instance for
        the UIComponent created by this custom action.
      </description>
    </attribute>

    <attribute>
      <name>id</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Component identifier of the UIParameter component
        to be created.
      </description>
    </attribute>

    <attribute>
      <name>name</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Name of the parameter to be created.
      </description>
    </attribute>

    <attribute>
      <name>value</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Value of the parameter to be set.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>selectItem</name>
    <tag-class>com.sun.faces.taglib.jsf_core.SelectItemTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Add a child UISelectItem component to the UIComponent
      associated with the closed parent UIComponent custom
      action.
    </description>

    <attribute>
      <name>binding</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Value binding expression to a backing bean
        property bound to the component instance for
        the UIComponent created by this custom action.
      </description>
    </attribute>

    <attribute>
      <name>id</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Component identifier of the UISelectItem
        component to be created.
      </description>
    </attribute>

    <attribute>
      <name>itemDescription</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Description of this option, for use in
        development tools.
      </description>
    </attribute>

    <attribute>
      <name>itemDisabled</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Flag indicating whether the option created
        by this component is disabled.  Expressions
        must evaluate to a boolean.  Default value
        is false.
      </description>
    </attribute>

    <attribute>
      <name>itemLabel</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Label to be displayed to the user
        for this option.
      </description>
    </attribute>

    <attribute>
      <name>itemValue</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Value to be returned to the server if this
        option is selected by the user.
      </description>
    </attribute>

    <attribute>
      <name>value</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Value binding expression pointing at a
        SelectItem instance containing the
        information for this option.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>selectItems</name>
    <tag-class>com.sun.faces.taglib.jsf_core.SelectItemsTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Add a child UISelectItems component to the UIComponent
      associated with the closed parent UIComponent custom
      action.
    </description>

    <attribute>
      <name>binding</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Value binding expression to a backing bean
        property bound to the component instance for
        the UIComponent created by this custom action.
      </description>
    </attribute>

    <attribute>
      <name>id</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Component identifier of the UISelectItems
        component to be created.
      </description>
    </attribute>

    <attribute>
      <name>value</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Value binding expression pointing at a List
        or array of SelectItem instances containing the
        information for these options.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>subview</name>
    <tag-class>com.sun.faces.taglib.jsf_core.SubviewTag</tag-class>
    <body-content>JSP</body-content>
    <description>
      Container action for all JavaServer Faces core and
      custom component actions used on a nested page via
      "jsp:include" or any custom action that dynamically
      includes another page from the same web application,
      such as JSTL's "c:import".
    </description>

    <attribute>
      <name>binding</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Value binding expression to a backing bean
        property bound to the component instance for
        the UIComponent created by this custom action.
      </description>
    </attribute>

    <attribute>
      <name>id</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Component identifier of the UINamingContainer
        component to be created.
      </description>
    </attribute>

    <attribute>
      <name>rendered</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Flag indicating whether this component (and its
        children) should be rendered.  Expressions must
        evaluate to a boolean.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>validateDoubleRange</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ValidateDoubleRangeTag</tag-class>
      <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>JSP</body-content>
    <description>
      Register a DoubleRangeValidator instance on the
      UIComponent associated with the closest parent
      UIComponent custom action.
    </description>

    <attribute>
      <name>maximum</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Maximum value allowed for this component.
      </description>
    </attribute>

    <attribute>
      <name>minimum</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Minimum value allowed for this component.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>validateLength</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ValidateLengthTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>JSP</body-content>
    <description>
      Register a LengthValidator instance on the
      UIComponent associated with the closest parent
      UIComponent custom action.
    </description>

    <attribute>
      <name>maximum</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Maximum length allowed for this component.
      </description>
    </attribute>

    <attribute>
      <name>minimum</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Minimum length allowed for this component.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>validateLongRange</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ValidateLongRangeTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>JSP</body-content>
    <description>
      Register a LongRangeValidator instance on the
      UIComponent associated with the closest parent
      UIComponent custom action.
    </description>

    <attribute>
      <name>maximum</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Maximum value allowed for this component.
      </description>
    </attribute>

    <attribute>
      <name>minimum</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Minimum value allowed for this component.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>validator</name>
    <tag-class>javax.faces.webapp.ValidatorTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Register a named Validator instance on the
      UIComponent associated with the closest parent
      UIComponent custom action.
    </description>

    <attribute>
      <name>validatorId</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Validator identifier of the Validator
        to be created and registered.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>valueChangeListener</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ValueChangeListenerTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>empty</body-content>
    <description>
      Register an ValueChangeListener instance on the UIComponent associated
      with the closest parent UIComponent custom action.
    </description>

    <attribute>
      <name>type</name>
      <required>true</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Fully qualified Java class name of a
        ValueChangeListener to be created and registered.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>verbatim</name>
    <tag-class>com.sun.faces.taglib.jsf_core.VerbatimTag</tag-class>
    <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>JSP</body-content>
    <description>
      Create and register a child UIOutput component
      associated with the closest parent UIComponent
      custom action, which renders nested body content.
    </description>

    <attribute>
      <name>escape</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Flag indicating that generated markup must
        be escaped in a manner that is appropriate
        for the markup language to be rendered.
        Expressions must evaluate to a boolean.
        Default value is false.
      </description>
    </attribute>

  </tag>


  <tag>

    <name>view</name>
    <tag-class>com.sun.faces.taglib.jsf_core.ViewTag</tag-class>
      <tei-class>com.sun.faces.taglib.FacesTagExtraInfo</tei-class>
    <body-content>JSP</body-content>
    <description>
      Container for all JavaServer Faces core and custom
      component actions used on a page.
    </description>

    <attribute>
      <name>locale</name>
      <required>false</required>
      <rtexprvalue>false</rtexprvalue>
      <description>
        Locale to use for localizing this page.  Expressions
        must evaluate to a java.util.Locale or to a String
        that is converted to a Locale.
      </description>
    </attribute>

  </tag>


</taglib>
