<?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.Do">

    <description>
        The do element provides a general mechanism for the user to act upon the current card, i.e. a card-level user
        interface element.
    </description>

    <parameter name="type" type="java.lang.String" direction="in" required="yes" >
        <description>
            The do element type. This attribute provides a hint to the user agent about the author's intended use of
            the element and how the element should be mapped to a physical user interface construct.
            Predefined DO types are accept, prev, help, reset, options, delete and unkown.
        </description>
    </parameter>

    <parameter name="label" type="java.lang.String" direction="in">
        <description>
            If the user agent is able to dynamically label the user interface widget, this attribute specifies a textual
            string suitable for such labelling.
        </description>
    </parameter>

</component-specification>
