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

<!DOCTYPE faces-config PUBLIC
 "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
 "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">

<!--
 * Copyright 2004 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.
-->

<faces-config xmlns="http://java.sun.com/JSF/Configuration">

  <!-- Initial application element with partial values -->
  <application>
    <action-listener>org.apache.myfaces.application.ActionListenerImpl</action-listener>
    <navigation-handler>org.apache.myfaces.application.NavigationHandlerImpl</navigation-handler>
    <variable-resolver>org.apache.myfaces.el.VariableResolverImpl</variable-resolver>
    <property-resolver>org.apache.myfaces.el.PropertyResolverImpl</property-resolver>
    <locale-config>
        <default-locale>en</default-locale>
        <supported-locale>en</supported-locale>
        <supported-locale>de</supported-locale>
        <supported-locale>fr</supported-locale>
        <supported-locale>ja</supported-locale>
        <supported-locale>it</supported-locale>
    </locale-config>
  </application>


  <lifecycle>
      <!-- This PhaseListener is only necessary if the autoscroll feature is used -->
      <phase-listener>org.apache.myfaces.renderkit.html.util.AutoScrollPhaseListener</phase-listener>
  </lifecycle>


  <!-- Standard HTML Components (see Spec. Table 8-13) -->
  <!-- (in alphabetical order) -->

  <component>
    <component-type>javax.faces.HtmlCommandButton</component-type>
    <component-class>javax.faces.component.html.HtmlCommandButton</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlCommandLink</component-type>
    <component-class>javax.faces.component.html.HtmlCommandLink</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlDataTable</component-type>
    <component-class>javax.faces.component.html.HtmlDataTable</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlForm</component-type>
    <component-class>javax.faces.component.html.HtmlForm</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlGraphicImage</component-type>
    <component-class>javax.faces.component.html.HtmlGraphicImage</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlInputHidden</component-type>
    <component-class>javax.faces.component.html.HtmlInputHidden</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlInputSecret</component-type>
    <component-class>javax.faces.component.html.HtmlInputSecret</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlInputText</component-type>
    <component-class>javax.faces.component.html.HtmlInputText</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlInputTextarea</component-type>
    <component-class>javax.faces.component.html.HtmlInputTextarea</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlMessage</component-type>
    <component-class>javax.faces.component.html.HtmlMessage</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlMessages</component-type>
    <component-class>javax.faces.component.html.HtmlMessages</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlOutputLabel</component-type>
    <component-class>javax.faces.component.html.HtmlOutputLabel</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlOutputLink</component-type>
    <component-class>javax.faces.component.html.HtmlOutputLink</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlOutputFormat</component-type>
    <component-class>javax.faces.component.html.HtmlOutputFormat</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlOutputText</component-type>
    <component-class>javax.faces.component.html.HtmlOutputText</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlPanelGrid</component-type>
    <component-class>javax.faces.component.html.HtmlPanelGrid</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlPanelGroup</component-type>
    <component-class>javax.faces.component.html.HtmlPanelGroup</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlSelectBooleanCheckbox</component-type>
    <component-class>javax.faces.component.html.HtmlSelectBooleanCheckbox</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlSelectManyCheckbox</component-type>
    <component-class>javax.faces.component.html.HtmlSelectManyCheckbox</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlSelectManyListbox</component-type>
    <component-class>javax.faces.component.html.HtmlSelectManyListbox</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlSelectManyMenu</component-type>
    <component-class>javax.faces.component.html.HtmlSelectManyMenu</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlSelectOneListbox</component-type>
    <component-class>javax.faces.component.html.HtmlSelectOneListbox</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlSelectOneMenu</component-type>
    <component-class>javax.faces.component.html.HtmlSelectOneMenu</component-class>
  </component>

  <component>
    <component-type>javax.faces.HtmlSelectOneRadio</component-type>
    <component-class>javax.faces.component.html.HtmlSelectOneRadio</component-class>
  </component>

  <!-- Other standard components -->
  <!-- (in alphabetical order) -->
  <component>
    <component-type>javax.faces.Column</component-type>
    <component-class>javax.faces.component.UIColumn</component-class>
  </component>

  <component>
    <component-type>javax.faces.Command</component-type>
    <component-class>javax.faces.component.UICommand</component-class>
  </component>

  <component>
    <component-type>javax.faces.Data</component-type>
    <component-class>javax.faces.component.UIData</component-class>
  </component>

  <component>
    <component-type>javax.faces.Form</component-type>
    <component-class>javax.faces.component.UIForm</component-class>
  </component>

  <component>
    <component-type>javax.faces.Graphic</component-type>
    <component-class>javax.faces.component.UIGraphic</component-class>
  </component>

  <component>
    <component-type>javax.faces.Input</component-type>
    <component-class>javax.faces.component.UIInput</component-class>
  </component>

  <component>
    <component-type>javax.faces.Message</component-type>
    <component-class>javax.faces.component.UIMessage</component-class>
  </component>

  <component>
    <component-type>javax.faces.Messages</component-type>
    <component-class>javax.faces.component.UIMessages</component-class>
  </component>

  <component>
    <component-type>javax.faces.NamingContainer</component-type>
    <component-class>javax.faces.component.UINamingContainer</component-class>
  </component>

  <component>
    <component-type>javax.faces.Output</component-type>
    <component-class>javax.faces.component.UIOutput</component-class>
  </component>

  <component>
    <component-type>javax.faces.Panel</component-type>
    <component-class>javax.faces.component.UIPanel</component-class>
  </component>

  <component>
    <component-type>javax.faces.Parameter</component-type>
    <component-class>javax.faces.component.UIParameter</component-class>
  </component>

  <component>
    <component-type>javax.faces.SelectBoolean</component-type>
    <component-class>javax.faces.component.UISelectBoolean</component-class>
  </component>

  <component>
    <component-type>javax.faces.SelectItem</component-type>
    <component-class>javax.faces.component.UISelectItem</component-class>
  </component>

  <component>
    <component-type>javax.faces.SelectItems</component-type>
    <component-class>javax.faces.component.UISelectItems</component-class>
  </component>

  <component>
    <component-type>javax.faces.SelectMany</component-type>
    <component-class>javax.faces.component.UISelectMany</component-class>
  </component>

  <component>
    <component-type>javax.faces.SelectOne</component-type>
    <component-class>javax.faces.component.UISelectOne</component-class>
  </component>

  <component>
    <component-type>javax.faces.ViewRoot</component-type>
    <component-class>javax.faces.component.UIViewRoot</component-class>
  </component>


  <!-- standard converters by id -->

    <converter>
        <converter-id>javax.faces.BigDecimal</converter-id>
        <converter-class>javax.faces.convert.BigDecimalConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.BigInteger</converter-id>
        <converter-class>javax.faces.convert.BigIntegerConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Boolean</converter-id>
        <converter-class>javax.faces.convert.BooleanConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Byte</converter-id>
        <converter-class>javax.faces.convert.ByteConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Character</converter-id>
        <converter-class>javax.faces.convert.CharacterConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.DateTime</converter-id>
        <converter-class>javax.faces.convert.DateTimeConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Double</converter-id>
        <converter-class>javax.faces.convert.DoubleConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Float</converter-id>
        <converter-class>javax.faces.convert.FloatConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Integer</converter-id>
        <converter-class>javax.faces.convert.IntegerConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Long</converter-id>
        <converter-class>javax.faces.convert.LongConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Number</converter-id>
        <converter-class>javax.faces.convert.NumberConverter</converter-class>
    </converter>

    <converter>
        <converter-id>javax.faces.Short</converter-id>
        <converter-class>javax.faces.convert.ShortConverter</converter-class>
    </converter>


    <!-- standard converters by class -->

    <converter>
        <converter-for-class>java.lang.Boolean</converter-for-class>
        <converter-class>javax.faces.convert.BooleanConverter</converter-class>
    </converter>

    <converter>
        <converter-for-class>java.lang.Byte</converter-for-class>
        <converter-class>javax.faces.convert.ByteConverter</converter-class>
    </converter>

    <converter>
        <converter-for-class>java.lang.Character</converter-for-class>
        <converter-class>javax.faces.convert.CharacterConverter</converter-class>
    </converter>

    <converter>
        <converter-for-class>java.lang.Double</converter-for-class>
        <converter-class>javax.faces.convert.DoubleConverter</converter-class>
    </converter>

    <converter>
        <converter-for-class>java.lang.Float</converter-for-class>
        <converter-class>javax.faces.convert.FloatConverter</converter-class>
    </converter>

    <converter>
        <converter-for-class>java.lang.Integer</converter-for-class>
        <converter-class>javax.faces.convert.IntegerConverter</converter-class>
    </converter>

    <converter>
        <converter-for-class>java.lang.Long</converter-for-class>
        <converter-class>javax.faces.convert.LongConverter</converter-class>
    </converter>

    <converter>
        <converter-for-class>java.lang.Short</converter-for-class>
        <converter-class>javax.faces.convert.ShortConverter</converter-class>
    </converter>


  <!-- Standard Validators -->
  <validator>
    <validator-id>javax.faces.DoubleRange</validator-id>
    <validator-class>javax.faces.validator.DoubleRangeValidator</validator-class>
  </validator>
  <validator>
    <validator-id>javax.faces.Length</validator-id>
    <validator-class>javax.faces.validator.LengthValidator</validator-class>
  </validator>
  <validator>
    <validator-id>javax.faces.LongRange</validator-id>
    <validator-class>javax.faces.validator.LongRangeValidator</validator-class>
  </validator>
	
  <!-- standard renderkit -->
  <render-kit>
      <render-kit-id>HTML_BASIC</render-kit-id>
      <render-kit-class>org.apache.myfaces.renderkit.html.HtmlRenderKitImpl</render-kit-class>

      <!-- Standard HTML renderers (see Spec. Table 8-13) -->

      <renderer>
          <component-family>javax.faces.Command</component-family>
          <renderer-type>javax.faces.Button</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlButtonRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.SelectBoolean</component-family>
          <renderer-type>javax.faces.Checkbox</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlCheckboxRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.SelectMany</component-family>
          <renderer-type>javax.faces.Checkbox</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlCheckboxRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Form</component-family>
          <renderer-type>javax.faces.Form</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlFormRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Panel</component-family>
          <renderer-type>javax.faces.Grid</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlGridRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Panel</component-family>
          <renderer-type>javax.faces.Group</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlGroupRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Input</component-family>
          <renderer-type>javax.faces.Hidden</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlHiddenRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Graphic</component-family>
          <renderer-type>javax.faces.Image</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlImageRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Output</component-family>
          <renderer-type>javax.faces.Label</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlLabelRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Output</component-family>
          <renderer-type>javax.faces.Link</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlLinkRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Command</component-family>
          <renderer-type>javax.faces.Link</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlLinkRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.SelectOne</component-family>
          <renderer-type>javax.faces.Listbox</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlListboxRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.SelectMany</component-family>
          <renderer-type>javax.faces.Listbox</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlListboxRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.SelectOne</component-family>
          <renderer-type>javax.faces.Menu</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlMenuRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.SelectMany</component-family>
          <renderer-type>javax.faces.Menu</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlMenuRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Message</component-family>
          <renderer-type>javax.faces.Message</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlMessageRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Output</component-family>
          <renderer-type>javax.faces.Format</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlFormatRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Messages</component-family>
          <renderer-type>javax.faces.Messages</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlMessagesRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.SelectOne</component-family>
          <renderer-type>javax.faces.Radio</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlRadioRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Input</component-family>
          <renderer-type>javax.faces.Secret</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlSecretRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Data</component-family>
          <renderer-type>javax.faces.Table</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlTableRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Input</component-family>
          <renderer-type>javax.faces.Textarea</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlTextareaRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Input</component-family>
          <renderer-type>javax.faces.Text</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlTextRenderer</renderer-class>
      </renderer>

      <renderer>
          <component-family>javax.faces.Output</component-family>
          <renderer-type>javax.faces.Text</renderer-type>
          <renderer-class>org.apache.myfaces.renderkit.html.HtmlTextRenderer</renderer-class>
      </renderer>

  </render-kit>


</faces-config>
