<?xml version="1.0" encoding="UTF-8"?>
<!--
   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.
-->
<!-- $Id$ -->
<!DOCTYPE component-specification PUBLIC
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">

<component-specification class="org.apache.tapestry.wml.Input" allow-body="no">

    <description>
        The Input element specifies a text entry object.
    </description>

    <parameter name="title" type="java.lang.String" direction="in">
        <description>
            The title attribute specifies advisory information about the element. The title may be rendered in a
            variety of ways by the user agent (eg, suggested bookmark name, pop-up tooltip, etc.).
        </description>
    </parameter>

    <parameter name="hidden" type="boolean" direction="in"/>

    <parameter name="name" type="java.lang.String" direction="in" required="yes" >
        <description>
            The name attribute specifies a variable name.
        </description>
    </parameter>

    <parameter name="format" type="java.lang.String" direction="in">
        <description>
            The format attribute specifies an input mask for user input entries. The string consists of mask control
            characters and static text that is displayed in the input area. The user agent may use the format mask to
            facilitate accelerated data input. An input mask is only valid when it contains only legal format codes.
            User agents must ignore invalid masks.
            The format control characters specify the data format expected to be entered by the user.
            See the WML specification for valid format control characters.
        </description>
    </parameter>

    <parameter name="emptyok" type="boolean" direction="in">
        <description>
            The emptyok attribute indicates that this input element accepts empty input although a non-empty format
            string has been specified.
        </description>
    </parameter>

    <parameter name="value" type="java.lang.String" required="yes">
        <description>
            Bind value to the variable that should recieve the user input string.
        </description>
    </parameter>

    <reserved-parameter name="type"/>

</component-specification>
