<?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.form.Upload" allow-body="no">

  <description>
  Allows a file to be uploaded as part of a form.
  </description>

  <parameter name="file" type="org.apache.tapestry.request.IUploadFile" required="yes" direction="form">
  	<description>
  	Parameter updated with the information (filename and content) of the file
  	when the form is submitted.
  	</description>
  </parameter>

  <parameter name="disabled" type="boolean" direction="in"/>
 
  <reserved-parameter name="type"/>
  <reserved-parameter name="name"/>
  
  <property-specification name="name" type="java.lang.String"/>
  <property-specification name="form" type="org.apache.tapestry.IForm"/>
  
</component-specification>
