<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>wml:Do</title>
<link rel="stylesheet" type="text/css" href="Tapestry.css" title="style">
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr> 
    <td align="left"><a href="wml.Card.html"><img alt="Card" src="common-images/prev.png"></a></td>
    <td align="middle"><a href="index.html"><img alt="Component Index" src="common-images/home.png" ></a></td>
    <td align="right"><a href="wml.Go.html"><img alt="Go" src="common-images/next.png"></a></td>
  </tr>
  <tr/> 
  <tr> 
    <td colspan="3"> 
      <hr>
    </td>
  </tr>
  <tr> 
    <td colspan="3"> 
      <table border="0" cellpadding="4" cellspacing="4" width="100%">
        <tr valign="top"> 
          <td> 
            <table>
              <tr> 
                <td><font size="+2"><b>wml:Do</b></font></td>
              </tr>
              <tr> 
                <td> <A href="../api/org/apache/tapestry/wml/Do.html">org.apache.tapestry.wml.Do</a> 
                </td>
              </tr>
            </table>
          </td>
          <td> 
            <table align="right" valign="middle" bgcolor="#c0c0c0" cellpadding="8">
              <tr> 
                <td>Non Visual Component</td>
              </tr>
            </table>
          </td>
        </tr>
        <tr valign="center"> 
          <td colspan="2">&nbsp;</td>
        </tr>
        <tr> 
          <td colspan="2"> <b>Description</b> <br>
            The wml:Do component activates a task when the user clicks on a word/phrase 
            on the screen.</td>
        </tr>
        <tr> 
          <td colspan="2"> <b>See Also</b> <br>
          </td>
        </tr>
        <tr> 
          <td colspan="2"> <b>Parameters</b> <br>
            <table border="1" cellpadding="4" cellspacing="4" class="parameters">
              <tr> 
                <th>Name</th>
                <th>Type</th>
                <th>Direction</th>
                <th>Required</th>
                <th>Default</th>
                <th>Description</th>
              </tr>
              <tr> 
                <td>type</td>
                <td>String</td>
                <td>in</td>
                <td>yes</td>
                <td>&nbsp;</td>
                <td> 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. </td>
              </tr>
              <tr> 
                <td>label</td>
                <td>String</td>
                <td>in</td>
                <td>no</td>
                <td>&nbsp;</td>
                <td> If the user agent is able to dynamically label the user interface 
                  widget, this attribute specifies a textual string suitable for 
                  such labelling. </td>
              </tr>
            </table>
            <p> Body: <strong>removed</strong><br>
              Informal parameters: <strong>allowed</strong><br>
              Reserved parameters: none </p>
          </td>
        </tr>
        <tr> 
          <td colspan="2"> <b>Examples</b> 
            <p> Please see the documentation for the <a href="wml.Go.html">wml:Go</a> 
              component.</p>
          </td>
        </tr>
      </table>
    </td>
  </tr>
  <tr> 
    <td colspan="3"> 
      <hr>
    </td>
  </tr>
  <tr> 
    <td align="left"><a href="wml.Card.html"><img alt="Card" src="common-images/prev.png"></a></td>
    <td align="middle"><a href="index.html"><img alt="Component Index" src="common-images/home.png" ></a></td>
    <td align="right"><a href="wml.Go.html"><img alt="Go" src="common-images/next.png"></a></td>
  </tr>
</table>
</body>
</html>