<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
 * Copyright 2004,2005,2006 The Apache Software Foundation.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
-->
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib xmlns="http://java.sun.com/JSP/TagLibraryDescriptor">
   <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>
   <display-name>JSF core tag library.</display-name>
   <description>
        This tag library implements the standard JSF core tags.
    </description>
   <!--
======================================================
 Listener, that does all the startup work (configuration, init).
======================================================
-->
   <listener>
      <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
   </listener>
   <!--
======================================================
 actionListener
======================================================
-->
   <tag>
      <name>actionListener</name>
      <tag-class>org.apache.myfaces.taglib.core.ActionListenerTag</tag-class>
      <body-content>empty</body-content>
      <description>
            This tag creates an instance of the specified ActionListener, and
            associates it with the nearest parent UIComponent.

            Unless otherwise specified, all attributes accept static values
            or EL expressions.
        </description>
      <attribute>
         <name>type</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The fully qualified class name of the ActionListener class.</description>
      </attribute>
   </tag>
   <!--
======================================================
 attribute
======================================================
-->
   <tag>
      <name>attribute</name>
      <tag-class>javax.faces.webapp.AttributeTag</tag-class>
      <body-content>empty</body-content>
      <description>
            This tag associates an attribute with the nearest parent
            UIComponent. 
            &lt;p&gt;
            When the value is not an EL expression, this tag has the same effect
            as calling component.getAttributes.put(name, value). When the attribute
            name specified matches a standard property of the component, that
            property is set. However it is also valid to assign attributes
            to components using any arbitrary name; the component itself won't
            make any use of these but other objects such as custom renderers,
            validators or action listeners can later retrieve the attribute
            from the component by name.
            &lt;p&gt;
            When the value is an EL expression, this tag has the same effect
            as calling component.setValueBinding. A call to method
            component.getAttributes().get(name) will then cause that
            expression to be evaluated and the result of the expression is
            returned, not the original EL expression string.
            &lt;p&gt;
            See the javadoc for UIComponent.getAttributes for more details.
            &lt;p&gt;
            Unless otherwise specified, all attributes accept static values
            or EL expressions.
            
        </description>
      <attribute>
         <name>name</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The name of the attribute.</description>
      </attribute>
      <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The attribute's value.</description>
      </attribute>
   </tag>
   <!--
======================================================
 converter
======================================================
-->
   <tag>
      <name>convertDateTime</name>
      <tag-class>org.apache.myfaces.taglib.core.ConvertDateTimeTag</tag-class>
      <body-content>empty</body-content>
      <description>
            This tag associates a date time converter with the nearest parent UIComponent.
        
            Unless otherwise specified, all attributes accept static values or EL expressions.
        </description>
      <attribute>
         <name>dateStyle</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The style of the date.  Values include: default, short, medium, long, and full.</description>
      </attribute>
      <attribute>
         <name>locale</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The name of the locale to be used, instead of the default.</description>
      </attribute>
      <attribute>
         <name>pattern</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.</description>
      </attribute>
      <attribute>
         <name>timeStyle</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The style of the time.  Values include:  default, short, medium, long, and full.</description>
      </attribute>
      <attribute>
         <name>timeZone</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>
                The time zone to use instead of GMT (the default timezone). When
                this value is a value-binding to a TimeZone instance, that
                timezone is used. Otherwise this value is treated as a String
                containing a timezone id, ie as the ID parameter of method
                java.util.TimeZone.getTimeZone(String).
            </description>
      </attribute>
      <attribute>
         <name>type</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>
                Specifies whether the date, time, or both should be 
                parsed/formatted.  Values include:  date, time, and both.
                Default based on setting of timeStyle and dateStyle.
            </description>
      </attribute>
   </tag>
   <tag>
      <name>converter</name>
      <tag-class>javax.faces.webapp.ConverterTag</tag-class>
      <body-content>empty</body-content>
      <description>
            This tag creates an instance of the specified Converter, and
            associates it with the nearest parent UIComponent.
        </description>
      <attribute>
         <name>converterId</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The converter's registered ID.</description>
      </attribute>
   </tag>
   <tag>
      <name>convertNumber</name>
      <tag-class>org.apache.myfaces.taglib.core.ConvertNumberTag</tag-class>
      <body-content>empty</body-content>
      <description>
            This tag creates a number formatting converter and associates it
            with the nearest parent UIComponent.
 
            Unless otherwise specified, all attributes accept static values or EL expressions.
        </description>
      <attribute>
         <name>currencyCode</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>ISO 4217 currency code</description>
      </attribute>
      <attribute>
         <name>currencySymbol</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>
                The currency symbol used to format a currency value.  Defaults
                to the currency symbol for locale.
            </description>
      </attribute>
      <attribute>
         <name>groupingUsed</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>Specifies whether output will contain grouping separators.  Default: true.</description>
      </attribute>
      <attribute>
         <name>integerOnly</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>Specifies whether only the integer part of the input will be parsed.  Default: false.</description>
      </attribute>
      <attribute>
         <name>locale</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>
                The name of the locale to be used, instead of the default as
                specified in the faces configuration file.
            </description>
      </attribute>
      <attribute>
         <name>maxFractionDigits</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The maximum number of digits in the fractional portion of the number.</description>
      </attribute>
      <attribute>
         <name>maxIntegerDigits</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The maximum number of digits in the integer portion of the number.</description>
      </attribute>
      <attribute>
         <name>minFractionDigits</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The minimum number of digits in the fractional portion of the number.</description>
      </attribute>
      <attribute>
         <name>minIntegerDigits</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The minimum number of digits in the integer portion of the number.</description>
      </attribute>
      <attribute>
         <name>pattern</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>A custom Date formatting pattern, in the format used by java.text.SimpleDateFormat.</description>
      </attribute>
      <attribute>
         <name>type</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>
                The type of formatting/parsing to be performed.  Values include:
                number, currency, and percent.  Default: number.
            </description>
      </attribute>
   </tag>
   <!--
======================================================
 facet
======================================================
-->
   <tag>
      <name>facet</name>
      <tag-class>javax.faces.webapp.FacetTag</tag-class>
      <body-content>JSP</body-content>
      <description>
            This tag adds its child as a facet of the nearest parent UIComponent.
            A child consisting of multiple elements should be nested within a
            container component (i.e., within an h:panelGroup for HTML library
            components).

            Unless otherwise specified, all attributes accept static values or EL expressions.
        </description>
      <attribute>
         <name>name</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The name of the facet to be created.  This must be a static value.</description>
      </attribute>
   </tag>
   <!--
======================================================
 loadBundle
======================================================
-->
   <tag>
      <name>loadBundle</name>
      <tag-class>org.apache.myfaces.taglib.core.LoadBundleTag</tag-class>
      <body-content>empty</body-content>
      <description>
            Loads a resource bundle and saves it as a variable in the request scope.

            Unless otherwise specified, all attributes accept static values or EL expressions.
        </description>
      <attribute>
         <name>basename</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The base name of the resource bundle.</description>
      </attribute>
      <attribute>
         <name>var</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <description>
                The name of the variable in request scope that the resources
                are saved to.  This must be a static value.
            </description>
      </attribute>
   </tag>
   <!--
======================================================
 param
======================================================
-->
   <tag>
      <name>param</name>
      <tag-class>org.apache.myfaces.taglib.core.ParamTag</tag-class>
      <body-content>empty</body-content>
      <description>
            This tag associates a parameter name-value pair with the nearest
            parent UIComponent. A UIComponent is created to represent this
            name-value pair, and stored as a child of the parent component; what
            effect this has depends upon the renderer of that parent component.
            &lt;p&gt;
            Unless otherwise specified, all attributes accept static values
            or EL expressions.
            
        </description>
      <!-- UIParameter attributes -->
      <attribute>
         <name>binding</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        Identifies a backing bean property (of type UIComponent or appropriate
        subclass) to bind to this component instance.  This value must be an
        EL expression.
    </description>
      </attribute>
      <attribute>
         <name>id</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        The developer-assigned ID of this component.  The ID must be unique
        within the scope of the tag's enclosing naming container (e.g. 
        h:form or f:subview).  This value must be a static value.
    </description>
      </attribute>
      <attribute>
         <name>name</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>A String containing the name of the parameter.</description>
      </attribute>
      <attribute>
         <name>value</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>The value of this parameter.</description>
      </attribute>
   </tag>
   <!--
======================================================
 selectitem
======================================================
-->
   <tag>
      <name>selectItem</name>
      <tag-class>org.apache.myfaces.taglib.core.SelectItemTag</tag-class>
      <body-content>empty</body-content>
      <description>
            This tag associates a single SelectItem with the nearest
            parent UIComponent. The item represents a single option
            for a component such as an h:selectBooleanCheckbox or h:selectOneMenu.
            See also component selectItems.
            &lt;p&gt;
            Unless otherwise specified, all attributes accept static values
            or EL expressions.
            
        </description>
      <!-- UISelectItem attributes -->
      <attribute>
         <name>binding</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        Identifies a backing bean property (of type UIComponent or appropriate
        subclass) to bind to this component instance.  This value must be an
        EL expression.
    </description>
      </attribute>
      <attribute>
         <name>id</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        The developer-assigned ID of this component.  The ID must be unique
        within the scope of the tag's enclosing naming container (e.g. 
        h:form or f:subview).  This value must be a static value.
    </description>
      </attribute>
      <attribute>
         <name>itemDisabled</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        If true, this component will not be saved during state saving.
    </description>
      </attribute>
      <attribute>
         <name>itemDescription</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>An optional description for this item.</description>
      </attribute>
      <attribute>
         <name>itemLabel</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        The locale-specific label that will be displayed to the user for this item.
    </description>
      </attribute>
      <attribute>
         <name>itemValue</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        The value of this item, of the same type as the parent component's value.
    </description>
      </attribute>
      <attribute>
         <name>value</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        An EL expression that refers to a javax.faces.model.SelectItem instance.
    </description>
      </attribute>
   </tag>
   <!--
======================================================
 selectitems
======================================================
-->
   <tag>
      <name>selectItems</name>
      <tag-class>org.apache.myfaces.taglib.core.SelectItemsTag</tag-class>
      <body-content>empty</body-content>
      <description>
            This tag associates a set of selection list items with the nearest
            parent UIComponent. The set of SelectItem objects is retrieved via
            a value-binding.
            &lt;p&gt;
            Unless otherwise specified, all attributes accept static values
            or EL expressions.
            
        </description>
      <!-- UISelectItems attributes -->
      <attribute>
         <name>binding</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        Identifies a backing bean property (of type UIComponent or appropriate
        subclass) to bind to this component instance.  This value must be an
        EL expression.
    </description>
      </attribute>
      <attribute>
         <name>id</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        The developer-assigned ID of this component.  The ID must be unique
        within the scope of the tag's enclosing naming container (e.g. 
        h:form or f:subview).  This value must be a static value.
    </description>
      </attribute>
      <attribute>
         <name>value</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        An EL expression that specifies the contents of the selection list.
        The expression can refer to one of the following:
        &lt;ol&gt;
            &lt;li&gt;A single SelectItem&lt;/li&gt;
            &lt;li&gt;An array or Collection of SelectItem instances&lt;/li&gt;
            &lt;li&gt;A Map. The contents of the Map are used to create SelectItem
                instances, where the SelectItem's label is the map's key value, 
                and the SelectItem's value is the map's value. When using a
                map, it is recommended that an ordered implementation such as
                java.util.TreeMap is used.&lt;/li&gt;
        &lt;/ol&gt;
        The value properties of each of the SelectItems must be of the same
        basic type as the parent component's value.
        
    </description>
      </attribute>
   </tag>
   <!--
======================================================
 subview
======================================================
-->
   <tag>
      <name>subview</name>
      <tag-class>org.apache.myfaces.taglib.core.SubviewTag</tag-class>
      <body-content>JSP</body-content>
      <description>
            This tag associates a set of UIComponents with the nearest parent
            UIComponent.  It acts as a naming container to make the IDs of its
            component elements unique.
        
            Unless otherwise specified, all attributes accept static values or EL expressions.
        </description>
      <attribute>
         <name>id</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        The developer-assigned ID of this component.  The ID must be unique
        within the scope of the tag's enclosing naming container (e.g. 
        h:form or f:subview).  This value must be a static value.
    </description>
      </attribute>
      <attribute>
         <name>binding</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        Identifies a backing bean property (of type UIComponent or appropriate
        subclass) to bind to this component instance.  This value must be an
        EL expression.
    </description>
      </attribute>
      <attribute>
         <name>rendered</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>
        A boolean value that indicates whether this component should be rendered.
        Default value: true.
    </description>
      </attribute>
   </tag>
   <!--
======================================================
 validators
======================================================
-->
   <tag>
      <name>validateDoubleRange</name>
      <tag-class>org.apache.myfaces.taglib.core.ValidateDoubleRangeTag</tag-class>
      <body-content>empty</body-content>
      <description>
            Creates a validator and associateds it with the nearest parent
            UIComponent.  When invoked, the validator ensures that values are
            valid doubles that lie within the minimum and maximum values specified.
        
            Commonly associated with a h:inputText entity.
        
            Unless otherwise specified, all attributes accept static values or EL expressions.
        </description>
      <!-- validator min/max attributes -->
      <attribute>
         <name>minimum</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>The smallest value that should be considered valid.</description>
      </attribute>
      <attribute>
         <name>maximum</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>The largest value that should be considered valid.</description>
      </attribute>
   </tag>
   <tag>
      <name>validateLength</name>
      <tag-class>org.apache.myfaces.taglib.core.ValidateLengthTag</tag-class>
      <body-content>empty</body-content>
      <description>
          Creates a validator and associateds it with the nearest parent
          UIComponent.  When invoked, the validator ensures that values are
          valid strings with a length that lies within the minimum and maximum
          values specified.
        
          Commonly associated with a h:inputText entity.
        
          Unless otherwise specified, all attributes accept static values or EL expressions.
      </description>
      <!-- validator min/max attributes -->
      <attribute>
         <name>minimum</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>The smallest value that should be considered valid.</description>
      </attribute>
      <attribute>
         <name>maximum</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>The largest value that should be considered valid.</description>
      </attribute>
   </tag>
   <tag>
      <name>validateLongRange</name>
      <tag-class>org.apache.myfaces.taglib.core.ValidateLongRangeTag</tag-class>
      <body-content>empty</body-content>
      <description>
        Creates a validator and associateds it with the nearest parent
        UIComponent.  When invoked, the validator ensures that values
        are valid longs that lie within the minimum and maximum values specified.
        
        Commonly associated with a h:inputText entity.
        
        Unless otherwise specified, all attributes accept static values or EL expressions.
      </description>
      <!-- validator min/max attributes -->
      <attribute>
         <name>minimum</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>The smallest value that should be considered valid.</description>
      </attribute>
      <attribute>
         <name>maximum</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>The largest value that should be considered valid.</description>
      </attribute>
   </tag>
   <tag>
      <name>validator</name>
      <tag-class>javax.faces.webapp.ValidatorTag</tag-class>
      <body-content>empty</body-content>
      <description>
        Creates a validator and associates it with the nearest parent
        UIComponent.  During the validation phase (or the apply-request-values
        phase for immediate components), if the associated component has any
        submitted value and the conversion of that value to the required
        type has succeeded then the specified validator type is
        invoked to test the validity of the converted value.
        &lt;p&gt;
        Commonly associated with an h:inputText entity, but may be applied to
        any input component.
        &lt;p&gt;
        Some validators may allow the component to use attributes to define
        component-specific validation constraints; see the f:attribute tag.
        See also the "validator" attribute of all input components, which
        allows a component to specify an arbitrary validation &lt;i&gt;method&lt;/i&gt;
        (rather than a registered validation type, as this tag does).
        &lt;p&gt;
        Unless otherwise specified, all attributes accept static values
        or EL expressions.
        
      </description>
      <attribute>
         <name>validatorId</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <type>java.lang.String</type>
         <description>The registered ID of the desired Validator.</description>
      </attribute>
   </tag>
   <!--
======================================================
 valueChangeListener
======================================================
-->
   <tag>
      <name>valueChangeListener</name>
      <tag-class>org.apache.myfaces.taglib.core.ValueChangeListenerTag</tag-class>
      <body-content>empty</body-content>
      <description>
            Adds the specified ValueChangeListener to the nearest parent
            UIComponent (which is expected to be a UIInput component).
            Whenever the form containing the parent UIComponent is submitted,
            an instance of the specified type is created. If the submitted
            value from the component is different from the component's current
            value then a ValueChangeEvent is queued. When the ValueChangeEvent
            is processed (at end of the validate phase for non-immediate components,
            or at end of the apply-request-values phase for immediate components)
            the object's processValueChange method is invoked.
            &lt;p&gt;
            Unless otherwise specified, all attributes accept static values
            or EL expressions.
            
        </description>
      <attribute>
         <name>type</name>
         <required>true</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The name of a Java class that implements ValueChangeListener.</description>
      </attribute>
   </tag>
   <!--
======================================================
 verbatim
======================================================
-->
   <tag>
      <name>verbatim</name>
      <tag-class>org.apache.myfaces.taglib.core.VerbatimTag</tag-class>
      <body-content>JSP</body-content>
      <description>
            Outputs its body as verbatim text. No JSP tags within the verbatim
            tag (including JSF tags) are evaluated; the content is treated
            simply as literal text to be copied to the response.
            &lt;p&gt;
            Unless otherwise specified, all attributes accept static values
            or EL expressions.
            
        </description>
      <attribute>
         <name>escape</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>If true, generated markup is escaped.  Default:  false.</description>
      </attribute>
   </tag>
   <!--
======================================================
 view
======================================================
-->
   <tag>
      <name>view</name>
      <tag-class>org.apache.myfaces.taglib.core.ViewTag</tag-class>
      <body-content>JSP</body-content>
      <description>
            Creates a JSF View, which is a container that holds all of the
            components that are part of the view.

            Unless otherwise specified, all attributes accept static values or EL expressions.
        </description>
      <attribute>
         <name>locale</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
         <description>The locale of this view.  Default:  the default locale from the configuration file.</description>
      </attribute>
   </tag>
</taglib>
