<?xml version="1.0"?>
<!DOCTYPE facelet-taglib PUBLIC
  "-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN"
  "http://java.sun.com/dtd/facelet-taglib_1_0.dtd">

<facelet-taglib>
    <namespace>http://myfaces.apache.org/tomahawk</namespace>

    <tag>
        <tag-name>aliasBean</tag-name>
        <component>
            <component-type>org.apache.myfaces.AliasBean</component-type>
            <renderer-type>org.apache.myfaces.AliasBean</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>buffer</tag-name>
        <component>
            <component-type>org.apache.myfaces.Buffer</component-type>
            <renderer-type>org.apache.myfaces.Buffer</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>columns</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlColumns</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>column</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlColumn</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>commandButton</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlCommandButton</component-type>   
        </component>
    </tag>
    <tag>
        <tag-name>commandLink</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlCommandLink</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>commandNavigation</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlCommandNavigation</component-type>
            <renderer-type>org.apache.myfaces.Navigation</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>commandNavigation2</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlCommandNavigationItem</component-type>
            <renderer-type>org.apache.myfaces.NavigationMenu</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>commandSortHeader</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlCommandSortHeader</component-type>
            <renderer-type>org.apache.myfaces.SortHeader</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>dataList</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlDataList</component-type>
            <renderer-type>org.apache.myfaces.List</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>dataScroller</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlDataScroller</component-type>
            <renderer-type>org.apache.myfaces.DataScroller</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>dataTable</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlDataTable</component-type>
            <renderer-type>org.apache.myfaces.Table</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>div</tag-name>
        <component>
            <component-type>org.apache.myfaces.Div</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>document</tag-name>
        <component>
            <component-type>org.apache.myfaces.Document</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>documentBody</tag-name>
        <component>
            <component-type>org.apache.myfaces.DocumentBody</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>documentHead</tag-name>
        <component>
            <component-type>org.apache.myfaces.DocumentHead</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>graphicImage</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlGraphicImage</component-type>
            <renderer-type>javax.faces.Image</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>htmlTag</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlTag</component-type>
            <renderer-type>org.apache.myfaces.HtmlTagRenderer</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>inputFileUpload</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlInputFileUpload</component-type>
            <renderer-type>org.apache.myfaces.FileUpload</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>inputCalendar</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlInputCalendar</component-type>
            <renderer-type>org.apache.myfaces.Calendar</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>inputDate</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlInputDate</component-type>
            <renderer-type>org.apache.myfaces.Date</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>inputHidden</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlInputHidden</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>inputHtml</tag-name>
        <component>
            <component-type>org.apache.myfaces.InputHtml</component-type>
            <renderer-type>org.apache.myfaces.InputHtml</renderer-type>
        </component>
    </tag>    
    <tag>
        <tag-name>inputSecret</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlInputSecret</component-type>
            <renderer-type>org.apache.myfaces.Secret</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>inputText</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlInputText</component-type>
            <renderer-type>org.apache.myfaces.Text</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>inputTextarea</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlInputTextarea</component-type>
            <renderer-type>org.apache.myfaces.Textarea</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>inputTextHelp</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlInputTextHelp</component-type>
            <renderer-type>org.apache.myfaces.TextHelp</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>jscookMenu</tag-name>
                <!--
                <![CDATA[
Requires "<input type="hidden" name="jscook_action" />" to be manually added to the form
                ]]>
                -->
        <component>
            <component-type>org.apache.myfaces.JSCookMenu</component-type>
            <renderer-type>org.apache.myfaces.JSCookMenu</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>message</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlMessage</component-type>
            <renderer-type>org.apache.myfaces.Message</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>messages</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlMessages</component-type>
            <renderer-type>org.apache.myfaces.Messages</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>navigationMenuItem</tag-name>
        <component>
            <component-type>org.apache.myfaces.NavigationMenuItem</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>navigationMenuItems</tag-name>
        <component>
            <component-type>javax.faces.SelectItems</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>newspaperTable</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlNewspaperTable</component-type>
            <renderer-type>org.apache.myfaces.HtmlNewspaperTable</renderer-type>
        </component>                
    </tag>
    <tag>
        <tag-name>outputText</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlOutputText</component-type>
            <renderer-type>org.apache.myfaces.Text</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>panelGrid</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlPanelGrid</component-type>
            <renderer-type>org.apache.myfaces.Grid</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>panelGroup</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlPanelGroup</component-type>
            <renderer-type>org.apache.myfaces.Group</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>panelNavigation</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlPanelNavigation</component-type>
            <renderer-type>org.apache.myfaces.Navigation</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>panelNavigation2</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlPanelNavigationMenu</component-type>
            <renderer-type>org.apache.myfaces.NavigationMenu</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>panelTab</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlPanelTab</component-type>
            <renderer-type>javax.faces.Group</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>panelTabbedPane</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlPanelTabbedPane</component-type>
            <renderer-type>org.apache.myfaces.TabbedPane</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>popup</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlPopup</component-type>
            <renderer-type>org.apache.myfaces.Popup</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>radio</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlRadio</component-type>
            <renderer-type>org.apache.myfaces.Radio</renderer-type>
        </component>
    </tag> 
    <tag>
        <tag-name>saveState</tag-name>
        <component>
            <component-type>org.apache.myfaces.SaveState</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>schedule</tag-name>
        <component>
            <component-type>org.apache.myfaces.Schedule</component-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectBooleanCheckbox</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlSelectBooleanCheckbox</component-type>
            <renderer-type>org.apache.myfaces.Checkbox</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectManyCheckbox</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlSelectManyCheckbox</component-type>
            <renderer-type>org.apache.myfaces.Checkbox</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectManyListbox</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlSelectManyListbox</component-type>
            <renderer-type>org.apache.myfaces.Listbox</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectManyMenu</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlSelectManyMenu</component-type>
            <renderer-type>org.apache.myfaces.Menu</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectOneCountry</tag-name>
        <component>
            <component-type>org.apache.myfaces.SelectOneCountry</component-type>
            <renderer-type>org.apache.myfaces.SelectOneCountryRenderer</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectOneLanguage</tag-name>
        <component>
            <component-type>org.apache.myfaces.SelectOneLanguage</component-type>
            <renderer-type>org.apache.myfaces.SelectOneLanguageRenderer</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectOneListbox</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlSelectOneListbox</component-type>
            <renderer-type>org.apache.myfaces.Listbox</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectOneMenu</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlSelectOneMenu</component-type>
            <renderer-type>org.apache.myfaces.Menu</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>selectOneRadio</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlSelectOneRadio</component-type>
            <renderer-type>org.apache.myfaces.Radio</renderer-type>
        </component>
    </tag> 
    <tag>
        <tag-name>stylesheet</tag-name>
        <component>
            <component-type>org.apache.myfaces.Stylesheet</component-type>
        </component>
    </tag>
    <!-- Note that "tree" will not work as-is.  Tree either needs a facelets 
         TagHandler, or a refactoring of
         org.apache.myfaces.custom.tree.taglib.TreeTag
         and org.apache.myfaces.custom.tree.HtmlTree
         to remove non-standard internal "model" attribute usage. -->
    <tag>
        <tag-name>tree</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlTree</component-type>
            <renderer-type>org.apache.myfaces.HtmlTree</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>tree2</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlTree2</component-type>
            <renderer-type>org.apache.myfaces.HtmlTree2</renderer-type>
        </component>
    </tag>
    <tag>
        <tag-name>treeColumn</tag-name>
        <component>
            <component-type>org.apache.myfaces.HtmlTreeColumn</component-type>
        </component>
    </tag>
    <!--
        <tag-name>updateActionListener</tag-name> requires a Facelets TagHandler.   Use the functionality-equivalent JSF 1.2 f:setPropertyActionListener instead.  f:setPropertyActionListener has been backported as of facelets 1.1.11.  Note that the jsf-comp updateActionListener does not handle setting values on ui:include parameters while setPropertyActionListener will correctly propagate these values.
    -->
    <tag>
        <tag-name>validateEmail</tag-name>
        <validator>
            <validator-id>org.apache.myfaces.validator.Email</validator-id>
        </validator>
    </tag>
    <tag>
        <tag-name>validateEqual</tag-name>
        <validator>
            <validator-id>org.apache.myfaces.validator.Equal</validator-id>
        </validator>
    </tag>
    <tag>
        <tag-name>validateRegExpr</tag-name>
        <validator>
            <validator-id>org.apache.myfaces.validator.RegExpr</validator-id>
        </validator>
    </tag>

</facelet-taglib>