<?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.valid.FieldLabel"
	allow-body="no"
	allow-informal-parameters="no">

  <description>
  Labels a ValidField.
  </description>

  <parameter name="field" type="org.apache.tapestry.form.IFormComponent" required="yes" direction="in"/>

  <parameter name="displayName" type="java.lang.String" direction="in">
      <description>
          Optional.  Defaults to the displayName of the associated field.
      </description>
  </parameter>

  <parameter name="raw" type="boolean" direction="in">
      <description>
        If false (the default), then HTML characters in the value are escaped.  If
        true, then value is emitted exactly as is.
      </description>
  </parameter>

</component-specification>
