<?xml version="1.0" encoding="UTF-8"?>
<!-- 
   Copyright 2004, 2005 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.
-->

<!DOCTYPE component-specification PUBLIC 
  "-//Apache Software Foundation//Tapestry Specification 3.0//EN" 
  "http://jakarta.apache.org/tapestry/dtd/Tapestry_3_0.dtd">

<component-specification>
	
	<parameter name="image" required="yes" type="org.apache.tapestry.IAsset"/>
	<reserved-parameter name="class"/>
	
	<component id="image" type="Image" inherit-informal-parameters="yes">
		<inherited-binding name="image" parameter-name="image"/>
	</component>
	
</component-specification>
