<?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.link.ExternalLink">

  <description>Creates a IExternalPage link.</description>

  <parameter name="page" 
  	type="java.lang.String" 
  	required="yes" 
  	property-name="targetPage"
  	direction="in"/>

  <parameter name="parameters" type="java.lang.Object" direction="in">
    <description>
    An object, or list of objects, encoded into the URL
    as service parameters.
    </description>
  </parameter>
  
  <parameter name="disabled"
  	type="boolean"
  	direction="in"/>
  	  	
  <parameter name="anchor" 
  	type="java.lang.String"
  	direction="in"/>
  	
  <parameter name="renderer"
  	type="org.apache.tapestry.link.ILinkRenderer"
  	direction="in"/>
  	
  <reserved-parameter name="href"/>
    
</component-specification>
