You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2003/02/07 05:27:05 UTC

cvs commit: jakarta-tapestry/framework/src/net/sf/tapestry/util/xml AbstractDocumentParser.java

hlship      2003/02/06 20:27:05

  Modified:    framework/src/net/sf/tapestry/form Checkbox.jwc Submit.jwc
                        TextArea.jwc Form.jwc DatePicker.jwc Upload.jwc
                        Option.jwc RadioGroup.jwc ImageSubmit.jwc
                        Hidden.jwc Radio.jwc Button.jwc Select.jwc
                        Form.java PropertySelection.jwc TextField.jwc
               framework/src/net/sf/tapestry/link ServiceLink.jwc
                        ExternalLink.jwc ActionLink.jwc GenericLink.jwc
                        DirectLink.jwc PageLink.jwc
               framework/src/net/sf/tapestry/html Image.jwc Script.jwc
                        Frame.jwc Shell.jwc Rollover.jwc InsertText.jwc
                        Body.jwc
               framework/src/net/sf/tapestry/parse Tapestry_1_4.dtd
                        SpecificationParser.java
               framework/src/net/sf/tapestry/components Foreach.jwc
                        Insert.jwc Any.jwc RenderBlock.jwc Conditional.jwc
                        Delegator.jwc
               framework/src/net/sf/tapestry/valid ValidField.jwc
                        FieldLabel.jwc
               framework/src/net/sf/tapestry/util/xml
                        AbstractDocumentParser.java
  Log:
  Update all specifications to the latest 1.4 DTD and update the DOCTYPE to reference Apache.
  
  Revision  Changes    Path
  1.8       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/form/Checkbox.jwc
  
  Index: Checkbox.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Checkbox.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Checkbox.jwc	26 Jan 2003 02:59:16 -0000	1.7
  +++ Checkbox.jwc	7 Feb 2003 04:27:02 -0000	1.8
  @@ -11,7 +11,7 @@
     </description>
     
     <parameter name="selected" 
  -  	java-type="boolean"
  +  	type="boolean"
     	required="yes" 
     	direction="form">
       <description>
  @@ -19,7 +19,7 @@
       </description>
     </parameter>
     
  -  <parameter name="disabled" java-type="boolean" direction="in">
  +  <parameter name="disabled" type="boolean" direction="in">
       <description>
       If true, then the checkbox will be disabled and any input from the checkbox
       will be ignored.
  
  
  
  1.8       +5 -5      jakarta-tapestry/framework/src/net/sf/tapestry/form/Submit.jwc
  
  Index: Submit.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Submit.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Submit.jwc	26 Jan 2003 02:59:16 -0000	1.7
  +++ Submit.jwc	7 Feb 2003 04:27:02 -0000	1.8
  @@ -10,12 +10,12 @@
     Creates a labeled submit button within a form.
     </description>
   
  -  <parameter name="label" java-type="java.lang.String" direction="in"/>
  -  <parameter name="disabled" java-type="boolean" direction="in"/>
  +  <parameter name="label" type="java.lang.String" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
     <parameter name="selected"/>
  -  <parameter name="tag" java-type="java.lang.Object" direction="in"/>
  +  <parameter name="tag" type="java.lang.Object" direction="in"/>
     <parameter name="listener" 
  -  	java-type="net.sf.tapestry.IActionListener"
  +  	type="net.sf.tapestry.IActionListener"
     	direction="in"/>
     
     <reserved-parameter name="name"/>
  
  
  
  1.5       +5 -5      jakarta-tapestry/framework/src/net/sf/tapestry/form/TextArea.jwc
  
  Index: TextArea.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/TextArea.jwc,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TextArea.jwc	26 Jan 2003 02:59:16 -0000	1.4
  +++ TextArea.jwc	7 Feb 2003 04:27:02 -0000	1.5
  @@ -10,11 +10,11 @@
     A multi-line text area.
     </description>
     
  -  <parameter name="value" java-type="java.lang.String" required="yes" direction="form"/>
  +  <parameter name="value" type="java.lang.String" required="yes" direction="form"/>
     
  -  <parameter name="disabled" java-type="boolean" direction="in"/>
  -  <parameter name="columns" java-type="int" direction="in"/>
  -  <parameter name="rows" java-type="int" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
  +  <parameter name="columns" type="int" direction="in"/>
  +  <parameter name="rows" type="int" direction="in"/>
     
     <reserved-parameter name="name"/>
     
  
  
  
  1.10      +6 -6      jakarta-tapestry/framework/src/net/sf/tapestry/form/Form.jwc
  
  Index: Form.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Form.jwc,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Form.jwc	26 Jan 2003 02:59:16 -0000	1.9
  +++ Form.jwc	7 Feb 2003 04:27:02 -0000	1.10
  @@ -10,14 +10,14 @@
     Used to implement an HTML form.
     </description>
   
  -  <parameter name="method" java-type="java.lang.String" direction="in">
  +  <parameter name="method" type="java.lang.String" direction="in">
       <description>
       The method used by the form when it is submitted, defaults to POST.
       </description>
     </parameter>
     
     <parameter name="listener" 
  -  	java-type="net.sf.tapestry.IActionListener" 
  +  	type="net.sf.tapestry.IActionListener" 
     	required="no"
     	direction="in">
       <description>
  @@ -27,14 +27,14 @@
     </parameter>
     
     <parameter name="stateful" 
  -  	java-type="boolean" 
  +  	type="boolean" 
     	direction="custom">
       <description>
       If true (the default), then an active HttpSession is required.
       </description>
     </parameter>
     
  -  <parameter name="direct" java-type="boolean" direction="in">
  +  <parameter name="direct" type="boolean" direction="in">
       <description>
       If true (the default), then the more efficient direct service is used.
       If false, then the action service is used.
  @@ -42,7 +42,7 @@
     </parameter>
     
     <parameter name="delegate" 
  -  	java-type="net.sf.tapestry.valid.IValidationDelegate" direction="in">
  +  	type="net.sf.tapestry.valid.IValidationDelegate" direction="in">
       <description>
       Specifies the delegate to be used by fields to track input errors.
       </description>
  
  
  
  1.9       +4 -4      jakarta-tapestry/framework/src/net/sf/tapestry/form/DatePicker.jwc
  
  Index: DatePicker.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/DatePicker.jwc,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- DatePicker.jwc	26 Jan 2003 02:59:16 -0000	1.8
  +++ DatePicker.jwc	7 Feb 2003 04:27:02 -0000	1.9
  @@ -6,9 +6,9 @@
   
   <component-specification class="net.sf.tapestry.form.DatePicker" allow-informal-parameters="no">
   
  -  <parameter name="value" direction="custom" java-type="java.util.Date" required="yes"/>
  -  <parameter name="format" direction="in" java-type="java.lang.String" required="no"/>
  -  <parameter name="disabled" direction="in" java-type="boolean" required="no"/>
  +  <parameter name="value" direction="custom" type="java.util.Date" required="yes"/>
  +  <parameter name="format" direction="in" type="java.lang.String" required="no"/>
  +  <parameter name="disabled" direction="in" type="boolean" required="no"/>
     
     <component id="dateTextField" type="TextField">
          	<binding name="value" expression="text"/>
  
  
  
  1.9       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/form/Upload.jwc
  
  Index: Upload.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Upload.jwc,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Upload.jwc	26 Jan 2003 02:59:16 -0000	1.8
  +++ Upload.jwc	7 Feb 2003 04:27:02 -0000	1.9
  @@ -13,14 +13,14 @@
     Allows a file to be uploaded as part of a form.
     </description>
   
  -  <parameter name="file" java-type="net.sf.tapestry.IUploadFile" required="yes" direction="form">
  +  <parameter name="file" type="net.sf.tapestry.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" java-type="boolean" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
    
     <reserved-parameter name="type"/>
     <reserved-parameter name="name"/>
  
  
  
  1.8       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/form/Option.jwc
  
  Index: Option.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Option.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Option.jwc	28 Jan 2003 22:47:26 -0000	1.7
  +++ Option.jwc	7 Feb 2003 04:27:03 -0000	1.8
  @@ -10,8 +10,8 @@
     A single option within a Select.
     </description>
     
  -  <parameter name="selected" java-type="java.lang.Boolean" required="yes"/>  
  -  <parameter name="label" java-type="java.lang.String" direction="in"/>
  +  <parameter name="selected" type="java.lang.Boolean" required="yes"/>  
  +  <parameter name="label" type="java.lang.String" direction="in"/>
     
     <reserved-parameter name="value"/>
     
  
  
  
  1.7       +2 -2      jakarta-tapestry/framework/src/net/sf/tapestry/form/RadioGroup.jwc
  
  Index: RadioGroup.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/RadioGroup.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- RadioGroup.jwc	26 Jan 2003 02:59:16 -0000	1.6
  +++ RadioGroup.jwc	7 Feb 2003 04:27:03 -0000	1.7
  @@ -12,6 +12,6 @@
     
     <parameter name="selected" required="yes"/>
     
  -  <parameter name="disabled" java-type="boolean" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
     
   </component-specification>
  
  
  
  1.8       +9 -9      jakarta-tapestry/framework/src/net/sf/tapestry/form/ImageSubmit.jwc
  
  Index: ImageSubmit.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/ImageSubmit.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ImageSubmit.jwc	26 Jan 2003 02:59:16 -0000	1.7
  +++ ImageSubmit.jwc	7 Feb 2003 04:27:03 -0000	1.8
  @@ -11,7 +11,7 @@
     </description>
   
     <parameter name="image" 
  -  	java-type="net.sf.tapestry.IAsset" 
  +  	type="net.sf.tapestry.IAsset" 
     	required="yes"
     	direction="in">
     	<description>
  @@ -21,11 +21,11 @@
     	
     <parameter name="name" 
       property-name="nameOverride"
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in"/>
     	
     <parameter name="disabledImage" 
  -  	java-type="net.sf.tapestry.IAsset"
  +  	type="net.sf.tapestry.IAsset"
     	direction="in">
     	<description>
     	Image used for the button, if disabled.
  @@ -33,20 +33,20 @@
     </parameter>
     	
     <parameter name="disabled"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in"/>
     	
  -  <parameter name="point" java-type="java.awt.Point"/>
  +  <parameter name="point" type="java.awt.Point"/>
     
     <parameter name="selected"
  -  	java-type="java.lang.Object">
  +  	type="java.lang.Object">
     	<description>
     	Property updated when the button is clicked.
     	</description>
     </parameter>
     
     <parameter name="tag" 
  -  	java-type="java.lang.Object" 
  +  	type="java.lang.Object" 
     	direction="in">
     	<description>
     	Value used when updating the selected parameter.
  @@ -54,7 +54,7 @@
     </parameter>
     
     <parameter name="listener" 
  -  	java-type="net.sf.tapestry.IActionListener"
  +  	type="net.sf.tapestry.IActionListener"
     	direction="in">
     	<description>
     	Notified when the button is clicked.
  
  
  
  1.10      +4 -4      jakarta-tapestry/framework/src/net/sf/tapestry/form/Hidden.jwc
  
  Index: Hidden.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Hidden.jwc,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- Hidden.jwc	26 Jan 2003 02:59:16 -0000	1.9
  +++ Hidden.jwc	7 Feb 2003 04:27:03 -0000	1.10
  @@ -14,7 +14,7 @@
     
     <parameter name="value" 
     	required="yes" 
  -  	java-type="java.lang.Object"
  +  	type="java.lang.Object"
     	direction="custom">
       <description>
       Value to save in the form.
  @@ -22,13 +22,13 @@
     </parameter>
     
     <parameter name="listener" 
  -  	java-type="net.sf.tapestry.IActionListener"
  +  	type="net.sf.tapestry.IActionListener"
     	direction="in">
       <description>
       Listener notified after the value is restored.
       </description>
     </parameter>
     
  -  <parameter name="encode" java-type="boolean" direction="in"/>
  +  <parameter name="encode" type="boolean" direction="in"/>
     
   </component-specification>
  
  
  
  1.7       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/form/Radio.jwc
  
  Index: Radio.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Radio.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Radio.jwc	26 Jan 2003 02:59:16 -0000	1.6
  +++ Radio.jwc	7 Feb 2003 04:27:03 -0000	1.7
  @@ -10,9 +10,9 @@
     A single possible selection within a RadioGroup.
     </description>
     
  -  <parameter name="value" java-type="java.lang.Object" direction="in"/>
  +  <parameter name="value" type="java.lang.Object" direction="in"/>
     
  -  <parameter name="disabled" java-type="boolean" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
     
     <reserved-parameter name="checked"/>
     <reserved-parameter name="type"/>
  
  
  
  1.4       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/form/Button.jwc
  
  Index: Button.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Button.jwc,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Button.jwc	26 Jan 2003 02:59:16 -0000	1.3
  +++ Button.jwc	7 Feb 2003 04:27:03 -0000	1.4
  @@ -10,8 +10,8 @@
     Creates a labeled button within a form.
     </description>
   
  -  <parameter name="label" java-type="java.lang.String" direction="in"/>
  -  <parameter name="disabled" java-type="boolean" direction="in"/>
  +  <parameter name="label" type="java.lang.String" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
     <parameter name="selected"/>
     
     <reserved-parameter name="name"/>
  
  
  
  1.7       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/form/Select.jwc
  
  Index: Select.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Select.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Select.jwc	26 Jan 2003 02:59:16 -0000	1.6
  +++ Select.jwc	7 Feb 2003 04:27:03 -0000	1.7
  @@ -10,8 +10,8 @@
     Creates an HTML popup populated with a number of options.
     </description>
     
  -  <parameter name="multiple" java-type="boolean" direction="in"/>
  -  <parameter name="disabled" java-type="boolean" direction="in"/>
  +  <parameter name="multiple" type="boolean" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
     
     <reserved-parameter name="name"/>
     
  
  
  
  1.26      +2 -8      jakarta-tapestry/framework/src/net/sf/tapestry/form/Form.java
  
  Index: Form.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/Form.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- Form.java	27 Jan 2003 16:30:22 -0000	1.25
  +++ Form.java	7 Feb 2003 04:27:03 -0000	1.26
  @@ -212,13 +212,7 @@
   
       public boolean getRequiresSession()
       {
  -        // Can't rely on stateful property, since that is only valid
  -        // during render ... so we go direct to the binding.
  -
  -        if (_statefulBinding == null)
  -            return true;
  -
  -        return _statefulBinding.getBoolean();
  +		return isStateful();
       }
   
       /**
  
  
  
  1.11      +6 -6      jakarta-tapestry/framework/src/net/sf/tapestry/form/PropertySelection.jwc
  
  Index: PropertySelection.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/PropertySelection.jwc,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- PropertySelection.jwc	26 Jan 2003 02:59:16 -0000	1.10
  +++ PropertySelection.jwc	7 Feb 2003 04:27:03 -0000	1.11
  @@ -12,19 +12,19 @@
     Creates an HTML select to choose a single property from a list of options.
     </description>
     
  -  <parameter name="value" required="yes" java-type="java.lang.Object" direction="form"/>
  +  <parameter name="value" required="yes" type="java.lang.Object" direction="form"/>
     
     <parameter name="model" 
  -  	java-type="net.sf.tapestry.form.IPropertySelectionModel" 
  +  	type="net.sf.tapestry.form.IPropertySelectionModel" 
     	required="yes"
     	direction="in"/>
     	
     <parameter name="disabled"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in"/>
     	
     <parameter name="renderer" 
  -  	java-type="net.sf.tapestry.form.IPropertySelectionRenderer"
  +  	type="net.sf.tapestry.form.IPropertySelectionRenderer"
     	direction="in">
     	<description>
   	An alternate rendered for the property selection.
  @@ -32,7 +32,7 @@
     </parameter>
     
     <parameter name="submitOnChange"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in">
     	<description>
     	Enables logic to submit containing form when value changes.
  
  
  
  1.10      +6 -6      jakarta-tapestry/framework/src/net/sf/tapestry/form/TextField.jwc
  
  Index: TextField.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/form/TextField.jwc,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TextField.jwc	26 Jan 2003 02:59:16 -0000	1.9
  +++ TextField.jwc	7 Feb 2003 04:27:03 -0000	1.10
  @@ -10,15 +10,15 @@
     A text input field.
     </description>
     
  -  <parameter name="value" java-type="java.lang.String" required="yes"/>
  +  <parameter name="value" type="java.lang.String" required="yes"/>
     
  -  <parameter name="disabled" java-type="boolean" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
     
  -  <parameter name="hidden" java-type="boolean" direction="in"/>
  +  <parameter name="hidden" type="boolean" direction="in"/>
     
  -  <parameter name="displayWidth" java-type="int" direction="in"/>
  +  <parameter name="displayWidth" type="int" direction="in"/>
     
  -  <parameter name="maximumLength" java-type="int" direction="in"/>
  +  <parameter name="maximumLength" type="int" direction="in"/>
     
     <reserved-parameter name="type"/>
     <reserved-parameter name="value"/>
  
  
  
  1.6       +6 -6      jakarta-tapestry/framework/src/net/sf/tapestry/link/ServiceLink.jwc
  
  Index: ServiceLink.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/link/ServiceLink.jwc,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ServiceLink.jwc	27 Jan 2003 16:30:10 -0000	1.5
  +++ ServiceLink.jwc	7 Feb 2003 04:27:04 -0000	1.6
  @@ -10,9 +10,9 @@
     Creates a link using an arbitrary engine service.
     </description>
     
  -  <parameter name="service" java-type="java.lang.String" required="yes" direction="in"/>
  +  <parameter name="service" type="java.lang.String" required="yes" direction="in"/>
   
  -  <parameter name="parameters" java-type="java.lang.Object" direction="in">
  +  <parameter name="parameters" type="java.lang.Object" direction="in">
       <description>
       A object or string, or array of objects and strings, encoded into the URL
       as service parameters.
  @@ -20,15 +20,15 @@
     </parameter>
   
     <parameter name="disabled"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in"/>
     	  	
     <parameter name="anchor" 
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in"/>
     	
     <parameter name="renderer"
  -  	java-type="net.sf.tapestry.link.ILinkRenderer"
  +  	type="net.sf.tapestry.link.ILinkRenderer"
     	direction="in"/>
   
     <reserved-parameter name="href"/>
  
  
  
  1.6       +6 -6      jakarta-tapestry/framework/src/net/sf/tapestry/link/ExternalLink.jwc
  
  Index: ExternalLink.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/link/ExternalLink.jwc,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- ExternalLink.jwc	27 Jan 2003 16:30:11 -0000	1.5
  +++ ExternalLink.jwc	7 Feb 2003 04:27:04 -0000	1.6
  @@ -9,12 +9,12 @@
     <description>Creates a IExternalPage link.</description>
   
     <parameter name="page" 
  -  	java-type="java.lang.String" 
  +  	type="java.lang.String" 
     	required="yes" 
     	property-name="targetPage"
     	direction="in"/>
   
  -  <parameter name="parameters" java-type="java.lang.Object" 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.
  @@ -22,15 +22,15 @@
     </parameter>
     
     <parameter name="disabled"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in"/>
     	  	
     <parameter name="anchor" 
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in"/>
     	
     <parameter name="renderer"
  -  	java-type="net.sf.tapestry.link.ILinkRenderer"
  +  	type="net.sf.tapestry.link.ILinkRenderer"
     	direction="in"/>
     	
     <reserved-parameter name="href"/>
  
  
  
  1.5       +6 -6      jakarta-tapestry/framework/src/net/sf/tapestry/link/ActionLink.jwc
  
  Index: ActionLink.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/link/ActionLink.jwc,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ActionLink.jwc	27 Jan 2003 16:30:11 -0000	1.4
  +++ ActionLink.jwc	7 Feb 2003 04:27:04 -0000	1.5
  @@ -12,23 +12,23 @@
     </description>
     
     <parameter name="listener" 
  -  	java-type="net.sf.tapestry.IActionListener" 
  +  	type="net.sf.tapestry.IActionListener" 
     	required="yes"
     	direction="in"/>
     	
     <parameter name="disabled"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in"/>
     	  	
     <parameter name="anchor" 
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in"/>
     	
     <parameter name="renderer"
  -  	java-type="net.sf.tapestry.link.ILinkRenderer"
  +  	type="net.sf.tapestry.link.ILinkRenderer"
     	direction="in"/>
     	
  -  <parameter name="stateful" java-type="boolean" direction="custom" property-name="stateful"/>	
  +  <parameter name="stateful" type="boolean" direction="custom" property-name="stateful"/>	
     
     <reserved-parameter name="href"/>
     
  
  
  
  1.8       +5 -5      jakarta-tapestry/framework/src/net/sf/tapestry/link/GenericLink.jwc
  
  Index: GenericLink.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/link/GenericLink.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- GenericLink.jwc	27 Jan 2003 16:30:11 -0000	1.7
  +++ GenericLink.jwc	7 Feb 2003 04:27:04 -0000	1.8
  @@ -10,18 +10,18 @@
     Creates a link to an application specified URL.
     </description>
     
  -  <parameter name="href" java-type="java.lang.String" required="yes" direction="in"/>
  +  <parameter name="href" type="java.lang.String" required="yes" direction="in"/>
   
     <parameter name="disabled"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in"/>
     	  	
     <parameter name="anchor" 
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in"/>
     	
     <parameter name="renderer"
  -  	java-type="net.sf.tapestry.link.ILinkRenderer"
  +  	type="net.sf.tapestry.link.ILinkRenderer"
     	direction="in"/>
     
   </component-specification>
  
  
  
  1.6       +7 -7      jakarta-tapestry/framework/src/net/sf/tapestry/link/DirectLink.jwc
  
  Index: DirectLink.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/link/DirectLink.jwc,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DirectLink.jwc	27 Jan 2003 16:30:11 -0000	1.5
  +++ DirectLink.jwc	7 Feb 2003 04:27:04 -0000	1.6
  @@ -12,29 +12,29 @@
     </description>
   
     <parameter name="listener" 
  -  	java-type="net.sf.tapestry.IActionListener" 
  +  	type="net.sf.tapestry.IActionListener" 
     	required="yes"
     	direction="custom"/>
     	
  -  <parameter name="parameters" java-type="java.lang.Object" 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="stateful" java-type="boolean" direction="custom"/>
  +  <parameter name="stateful" type="boolean" direction="custom"/>
     
     <parameter name="disabled"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in"/>
     	  	
     <parameter name="anchor" 
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in"/>
     	
     <parameter name="renderer"
  -  	java-type="net.sf.tapestry.link.ILinkRenderer"
  +  	type="net.sf.tapestry.link.ILinkRenderer"
     	direction="in"/>
     
     <reserved-parameter name="href"/>
  
  
  
  1.5       +6 -6      jakarta-tapestry/framework/src/net/sf/tapestry/link/PageLink.jwc
  
  Index: PageLink.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/link/PageLink.jwc,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PageLink.jwc	27 Jan 2003 16:30:11 -0000	1.4
  +++ PageLink.jwc	7 Feb 2003 04:27:04 -0000	1.5
  @@ -11,27 +11,27 @@
     </description>
     
     <parameter name="page" 
  -  	java-type="java.lang.String" 
  +  	type="java.lang.String" 
     	required="yes" 
     	property-name="targetPage"
     	direction="in"/>
     
     <parameter name="namespace" 
  -  	java-type="net.sf.tapestry.INamespace" 
  +  	type="net.sf.tapestry.INamespace" 
     	required="no" 
     	property-name="targetNamespace"
     	direction="in"/>
     	  	
     <parameter name="disabled"
  -  	java-type="boolean"
  +  	type="boolean"
     	direction="in"/>
     	  	
     <parameter name="anchor" 
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in"/>
     	
     <parameter name="renderer"
  -  	java-type="net.sf.tapestry.link.ILinkRenderer"
  +  	type="net.sf.tapestry.link.ILinkRenderer"
     	direction="in"/>
     
     <reserved-parameter name="href"/>
  
  
  
  1.7       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/html/Image.jwc
  
  Index: Image.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/html/Image.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Image.jwc	26 Jan 2003 02:59:15 -0000	1.6
  +++ Image.jwc	7 Feb 2003 04:27:04 -0000	1.7
  @@ -11,7 +11,7 @@
     </description>
   
     <parameter name="image" 
  -  	java-type="net.sf.tapestry.IAsset" 
  +  	type="net.sf.tapestry.IAsset" 
     	required="yes"
     	direction="in">
       <description>
  @@ -20,7 +20,7 @@
     </parameter>
     
     <parameter name="border"
  -  	java-type="int"
  +  	type="int"
     	direction="in">
       <description>
       Number of pixels of border.
  
  
  
  1.8       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/html/Script.jwc
  
  Index: Script.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/html/Script.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Script.jwc	26 Jan 2003 02:59:15 -0000	1.7
  +++ Script.jwc	7 Feb 2003 04:27:04 -0000	1.8
  @@ -12,7 +12,7 @@
     
     <parameter name="script" 
     	property-name="scriptPath"
  -  	java-type="java.lang.String" 
  +  	type="java.lang.String" 
     	required="yes" 
     	direction="in">
       <description>
  @@ -22,7 +22,7 @@
   
     <parameter name="symbols"
     	property-name="baseSymbols"
  -  	java-type="java.util.Map" 
  +  	type="java.util.Map" 
     	direction="in">
       <description>
       Provides a base set of symbols to which, in a copy, are added
  
  
  
  1.4       +2 -2      jakarta-tapestry/framework/src/net/sf/tapestry/html/Frame.jwc
  
  Index: Frame.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/html/Frame.jwc,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- Frame.jwc	26 Jan 2003 02:59:15 -0000	1.3
  +++ Frame.jwc	7 Feb 2003 04:27:04 -0000	1.4
  @@ -14,7 +14,7 @@
   
     <parameter name="page" 
     		property-name="targetPage"
  -  		java-type="java.lang.String" 
  +  		type="java.lang.String" 
     		required="yes" 
     		direction="in">
       <description>
  
  
  
  1.8       +6 -6      jakarta-tapestry/framework/src/net/sf/tapestry/html/Shell.jwc
  
  Index: Shell.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/html/Shell.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Shell.jwc	26 Jan 2003 02:59:15 -0000	1.7
  +++ Shell.jwc	7 Feb 2003 04:27:04 -0000	1.8
  @@ -11,7 +11,7 @@
     </description>
   
     <parameter name="title" 
  -  	java-type="java.lang.String" 
  +  	type="java.lang.String" 
     	required="yes"
     	direction="in">
       <description>
  @@ -20,7 +20,7 @@
     </parameter>
     
     <parameter name="stylesheet" 
  -  	java-type="net.sf.tapestry.IAsset"
  +  	type="net.sf.tapestry.IAsset"
     	direction="in">
       <description>
       If specified, provides an external stylesheet for the page.
  @@ -28,7 +28,7 @@
     </parameter>
   
     <parameter name="DTD" 
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in">
       <description>
       Used to specify the DOCTYPE of the response page.
  @@ -37,7 +37,7 @@
     
     <parameter 
     	name="refresh" 
  -  	java-type="int"
  +  	type="int"
     	direction="in">
       <description>
       If specified, the page will refresh itself after the specified delay (in seconds).
  @@ -46,7 +46,7 @@
     
     <parameter 
     	name="delegate" 
  -  	java-type="net.sf.tapestry.IRender"
  +  	type="net.sf.tapestry.IRender"
     	direction="in">
       <description>
       If specified, the delegate is allowed to render before the close of the &lt;head&gt;
  
  
  
  1.7       +5 -5      jakarta-tapestry/framework/src/net/sf/tapestry/html/Rollover.jwc
  
  Index: Rollover.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/html/Rollover.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Rollover.jwc	26 Jan 2003 02:59:15 -0000	1.6
  +++ Rollover.jwc	7 Feb 2003 04:27:04 -0000	1.7
  @@ -12,7 +12,7 @@
     </description>
   
     <parameter name="image" 
  -  	java-type="net.sf.tapestry.IAsset" 
  +  	type="net.sf.tapestry.IAsset" 
     	required="yes"
     	direction="in">
       <description>
  @@ -22,7 +22,7 @@
     </parameter>
     
     <parameter name="focus"
  -  	java-type="net.sf.tapestry.IAsset"
  +  	type="net.sf.tapestry.IAsset"
     	direction="in">
       <description>
       If specified, provides an image displayed when the cursor is moved
  @@ -31,7 +31,7 @@
     </parameter>
     
     <parameter name="blur" 
  -  	java-type="net.sf.tapestry.IAsset"
  +  	type="net.sf.tapestry.IAsset"
     	direction="in">
       <description>
       If specified, provides an image displayed when the cursor is moved
  @@ -40,7 +40,7 @@
     </parameter>
     
     <parameter name="disabled"
  -  	java-type="net.sf.tapestry.IAsset"
  +  	type="net.sf.tapestry.IAsset"
     	direction="in">
       <description>
       If specified, provides an image displayed when the surrounding
  
  
  
  1.9       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/html/InsertText.jwc
  
  Index: InsertText.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/html/InsertText.jwc,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- InsertText.jwc	26 Jan 2003 02:59:15 -0000	1.8
  +++ InsertText.jwc	7 Feb 2003 04:27:04 -0000	1.9
  @@ -13,14 +13,14 @@
     markup to delimit lines.
     </description>
     
  -   <parameter name="value" java-type="java.lang.String" direction="in">
  +   <parameter name="value" type="java.lang.String" direction="in">
       <description>
     	The text to insert.
       </description>
     </parameter>
   
     <parameter name="mode" 
  -  	java-type="net.sf.tapestry.html.InsertTextMode"
  +  	type="net.sf.tapestry.html.InsertTextMode"
     	direction="in">
       <description>
       Determines which mode to use: breaks after each line, or wrap each line
  
  
  
  1.6       +2 -2      jakarta-tapestry/framework/src/net/sf/tapestry/html/Body.jwc
  
  Index: Body.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/html/Body.jwc,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Body.jwc	26 Jan 2003 02:59:15 -0000	1.5
  +++ Body.jwc	7 Feb 2003 04:27:04 -0000	1.6
  @@ -13,7 +13,7 @@
   
     <parameter
     	name="element"
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	direction="in">
     	<description>
     	Name of element to use, defaults to "body".
  
  
  
  1.6       +6 -4      jakarta-tapestry/framework/src/net/sf/tapestry/parse/Tapestry_1_4.dtd
  
  Index: Tapestry_1_4.dtd
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/parse/Tapestry_1_4.dtd,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Tapestry_1_4.dtd	26 Jan 2003 02:59:20 -0000	1.5
  +++ Tapestry_1_4.dtd	7 Feb 2003 04:27:04 -0000	1.6
  @@ -28,6 +28,7 @@
   - renamed <component-alias> to <component-type>
   - added <listener-binding> element
   - added <property-specification> element
  +- renamed java-type to type inside <parameter>
   -->
   
   <!-- =======================================================
  @@ -391,7 +392,7 @@
   
   Attributes:
     name: A unqiue name for the parameter.
  -  java-type: The name of a Java class or primitive type expected by the parameter.
  +  type: The name of a Java class or primitive type expected by the parameter.
     required: If yes, then the parameter must be bound.  If no (the default),
       then the parameter is optional.
     property-name: The name to use, instead of the parameter name, for the
  @@ -402,7 +403,7 @@
   <!ELEMENT parameter (description*)>
   <!ATTLIST parameter
     name CDATA #REQUIRED
  -  java-type CDATA #IMPLIED
  +  type CDATA #IMPLIED
     required %attribute-flag; "no"
     property-name CDATA #IMPLIED
     direction (in|form|custom) "custom"
  @@ -460,7 +461,8 @@
     persistant: If "yes", the value will be made persistant.  Default
       is "no".
     initial-value:  If provided, this is an OGNL expression used
  -    to initialize the property.
  +    to initialize the property.  If not specified, the
  +    body of the element is used as the initial value.
       
   -->
   
  @@ -523,7 +525,7 @@
   <!ELEMENT set-property EMPTY>
   <!ATTLIST set-property
     name CDATA #REQUIRED
  -  expression CDATA #REQUIRED
  +  expression CDATA #IMPLIED
   >
   
   
  
  
  
  1.40      +58 -23    jakarta-tapestry/framework/src/net/sf/tapestry/parse/SpecificationParser.java
  
  Index: SpecificationParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/parse/SpecificationParser.java,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- SpecificationParser.java	2 Feb 2003 19:44:34 -0000	1.39
  +++ SpecificationParser.java	7 Feb 2003 04:27:04 -0000	1.40
  @@ -664,14 +664,14 @@
       {
           String type = getAttribute(node, "type");
   
  -        validate(type, COMPONENT_ALIAS_PATTERN, "SpecificationParser.invalid-component-alias");
  +        validate(type, COMPONENT_ALIAS_PATTERN, "SpecificationParser.invalid-component-type");
   
           String path = getAttribute(node, "specification-path");
   
           specification.setComponentSpecificationPath(type, path);
       }
   
  -    private void convertProperty(IPropertyHolder holder, Node node)
  +    private void convertProperty(IPropertyHolder holder, Node node) throws DocumentParseException
       {
           String name = getAttribute(node, "name");
   
  @@ -679,10 +679,7 @@
           // as an attribute.  Only if that is null do we
           // extract the node's value.
   
  -        String value = getAttribute(node, "value");
  -
  -        if (value == null)
  -            value = getValue(node);
  +        String value = getExtendedAttribute(node, "value", true);
   
           holder.setProperty(name, value);
       }
  @@ -711,11 +708,6 @@
           {
               if (isElement(node, "parameter"))
               {
  -                if (isPage)
  -                    throw new DocumentParseException(
  -                        Tapestry.getString("SpecificationParser.not-allowed-for-page", "parameter"),
  -                        getResourceLocation());
  -
                   convertParameter(specification, node);
                   continue;
               }
  @@ -794,7 +786,18 @@
   
           validate(name, PARAMETER_NAME_PATTERN, "SpecificationParser.invalid-parameter-name");
   
  -        param.setType(getAttribute(node, "java-type"));
  +        String type = getAttribute(node, "type");
  +
  +        // The attribute was called "java-type" in the 1.3 and earlier DTD
  +
  +        if (type == null)
  +            type = getAttribute(node, "java-type");
  +
  +        if (type == null)
  +            type = "java.lang.Object";
  +
  +        param.setType(type);
  +
           param.setRequired(getBooleanAttribute(node, "required"));
   
           String propertyName = getAttribute(node, "property-name");
  @@ -1049,15 +1052,11 @@
           Node node,
           BindingType type,
           String attributeName)
  +        throws DocumentParseException
       {
           String name = getAttribute(node, "name");
  -        String value = getAttribute(node, attributeName);
  -
  -        // In several cases, the 1.4 DTD makes the attribute optional and
  -        // allows the value to be to the body of the element.
   
  -        if (value == null)
  -            value = getValue(node);
  +        String value = getExtendedAttribute(node, attributeName, true);
   
           BindingSpecification binding = _factory.createBindingSpecification(type, value);
   
  @@ -1239,10 +1238,8 @@
       {
           String propertyName = getAttribute(node, "property-name");
           String type = getAttribute(node, "type");
  -        String value = getAttribute(node, "value");
   
  -        if (value == null)
  -            value = getValue(node);
  +        String value = getExtendedAttribute(node, "value", true);
   
           validate(propertyName, PROPERTY_NAME_PATTERN, "SpecificationParser.invalid-property-name");
   
  @@ -1271,7 +1268,7 @@
   
           ps.setName(name);
   
  -        String type = getAttribute(node, "type");
  +        String type = getExtendedAttribute(node, "type", false);
   
           if (!Tapestry.isNull(type))
               ps.setType(type);
  @@ -1280,9 +1277,47 @@
   
           ps.setPersistent(persistent);
   
  -        ps.setInitialValue(getAttribute(node, "initial-value"));
  +        ps.setInitialValue(getExtendedAttribute(node, "initial-value", false));
   
           spec.addPropertySpecification(ps);
       }
   
  +    /** 
  +     *  Used with many elements that allow a value to be specified as either
  +     *  an attribute, or as wrapped character data.  This handles that case,
  +     *  and makes it an error to specify both.
  +     * 
  +     * @since 2.4 
  +     * 
  +     **/
  +
  +    protected String getExtendedAttribute(Node node, String attributeName, boolean required)
  +        throws DocumentParseException
  +    {
  +        String attributeValue = getAttribute(node, attributeName);
  +        boolean nullAttributeValue = Tapestry.isNull(attributeValue);
  +        String bodyValue = getValue(node);
  +        boolean nullBodyValue = Tapestry.isNull(bodyValue);
  +
  +        if (!nullAttributeValue && !nullBodyValue)
  +            throw new DocumentParseException(
  +                Tapestry.getString(
  +                    "SpecificationParser.no-attribute-and-body",
  +                    attributeName,
  +                    node.getNodeName()),
  +                getResourceLocation());
  +
  +        if (required && nullAttributeValue && nullBodyValue)
  +            throw new DocumentParseException(
  +                Tapestry.getString(
  +                    "SpecificationParser.required-extended-attribute",
  +                    node.getNodeName(),
  +                    attributeName),
  +                getResourceLocation());
  +
  +        if (nullAttributeValue)
  +            return bodyValue;
  +
  +        return attributeValue;
  +    }
   }
  
  
  
  1.7       +4 -4      jakarta-tapestry/framework/src/net/sf/tapestry/components/Foreach.jwc
  
  Index: Foreach.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/components/Foreach.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Foreach.jwc	26 Jan 2003 02:59:18 -0000	1.6
  +++ Foreach.jwc	7 Feb 2003 04:27:05 -0000	1.7
  @@ -13,7 +13,7 @@
     component).
     </description>
   	
  -  <parameter name="source" java-type="java.lang.Object" direction="in">
  +  <parameter name="source" type="java.lang.Object" direction="in">
       <description>
       The source of values, a Java collection or array.
       </description>
  @@ -25,13 +25,13 @@
       </description>
     </parameter>
     
  -  <parameter name="index" java-type="int" direction="custom">
  +  <parameter name="index" type="int" direction="custom">
       <description>
       If provided, then the index of the loop is set on each iteration.
       </description>
     </parameter>
     
  -  <parameter name="element" java-type="java.lang.String" direction="in">
  +  <parameter name="element" type="java.lang.String" direction="in">
       <description>
       If provided, then the Foreach creates an element wrapping its content.
       Informal parameters become attributes of the element.
  
  
  
  1.7       +5 -5      jakarta-tapestry/framework/src/net/sf/tapestry/components/Insert.jwc
  
  Index: Insert.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/components/Insert.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Insert.jwc	26 Jan 2003 02:59:18 -0000	1.6
  +++ Insert.jwc	7 Feb 2003 04:27:05 -0000	1.7
  @@ -13,19 +13,19 @@
     </description>
     
     
  -  <parameter name="value" java-type="java.lang.Object" direction="in">
  +  <parameter name="value" type="java.lang.Object" direction="in">
     	<description>
     	The value to be emitted.  Non-strings are converted to strings.
     	</description>
     </parameter>
     
  -  <parameter name="format" java-type="java.text.Format" direction="in">
  +  <parameter name="format" type="java.text.Format" direction="in">
     	<description>
     	A Format object used to convert the value to a string.
     	</description>
     </parameter>
     
  -  <parameter name="raw" java-type="boolean" direction="in">
  +  <parameter name="raw" type="boolean" direction="in">
     	<description>
     	If false (the default), then invalid HTML characters in the value are escaped.  If
     	true, then value is emitted exactly as is.
  @@ -33,7 +33,7 @@
     </parameter>
     
     <parameter name="class" 
  -  	java-type="java.lang.String"
  +  	type="java.lang.String"
     	property-name="styleClass"
     	direction="in">
     	<description>
  
  
  
  1.7       +2 -2      jakarta-tapestry/framework/src/net/sf/tapestry/components/Any.jwc
  
  Index: Any.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/components/Any.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Any.jwc	26 Jan 2003 02:59:18 -0000	1.6
  +++ Any.jwc	7 Feb 2003 04:27:05 -0000	1.7
  @@ -10,7 +10,7 @@
     informal parameters).
     </description>
     
  -  <parameter name="element" java-type="java.lang.String" direction="in" required="yes">
  +  <parameter name="element" type="java.lang.String" direction="in" required="yes">
     	<description>
     	The element to emulate.
     	</description>
  
  
  
  1.3       +2 -2      jakarta-tapestry/framework/src/net/sf/tapestry/components/RenderBlock.jwc
  
  Index: RenderBlock.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/components/RenderBlock.jwc,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- RenderBlock.jwc	26 Jan 2003 02:59:18 -0000	1.2
  +++ RenderBlock.jwc	7 Feb 2003 04:27:05 -0000	1.3
  @@ -9,7 +9,7 @@
   	allow-informal-parameters="yes">
   	
     <parameter name="block" 
  -  	java-type="net.sf.tapestry.components.Block"
  +  	type="net.sf.tapestry.components.Block"
     	direction="in"/>
     	
   </component-specification>
  
  
  
  1.7       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/components/Conditional.jwc
  
  Index: Conditional.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/components/Conditional.jwc,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- Conditional.jwc	26 Jan 2003 02:59:18 -0000	1.6
  +++ Conditional.jwc	7 Feb 2003 04:27:05 -0000	1.7
  @@ -9,13 +9,13 @@
     Conditionally includes a block of content if a condition is met.
     </description>
     
  -  <parameter name="condition" java-type="boolean" direction="in">
  +  <parameter name="condition" type="boolean" direction="in">
       <description>
       The condition to evaluate.
       </description>
     </parameter>
     
  -  <parameter name="invert" java-type="boolean" direction="in">
  +  <parameter name="invert" type="boolean" direction="in">
       <description>
       If true, inverts the condition, so that a false condition causes the 
       content to be included.  If false (the default), then the condition
  
  
  
  1.8       +2 -2      jakarta-tapestry/framework/src/net/sf/tapestry/components/Delegator.jwc
  
  Index: Delegator.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/components/Delegator.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Delegator.jwc	26 Jan 2003 02:59:18 -0000	1.7
  +++ Delegator.jwc	7 Feb 2003 04:27:05 -0000	1.8
  @@ -12,7 +12,7 @@
     Delegates rendering to an object that implements the IRender interface.
     </description>
   
  -  <parameter name="delegate" java-type="net.sf.tapestry.IRender" direction="in">
  +  <parameter name="delegate" type="net.sf.tapestry.IRender" direction="in">
       <description>
       The object which will perform the render.
       </description>
  
  
  
  1.8       +9 -9      jakarta-tapestry/framework/src/net/sf/tapestry/valid/ValidField.jwc
  
  Index: ValidField.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/valid/ValidField.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ValidField.jwc	26 Jan 2003 02:59:21 -0000	1.7
  +++ ValidField.jwc	7 Feb 2003 04:27:05 -0000	1.8
  @@ -10,18 +10,18 @@
     A text input field that can validate input.
     </description>
   
  -  <parameter name="value" java-type="java.lang.Object" required="yes"/>
  +  <parameter name="value" type="java.lang.Object" required="yes"/>
     
  -  <parameter name="disabled" java-type="boolean" direction="in"/>
  +  <parameter name="disabled" type="boolean" direction="in"/>
     
  -  <parameter name="hidden" java-type="boolean" direction="in"/>
  +  <parameter name="hidden" type="boolean" direction="in"/>
     
  -  <parameter name="displayWidth" java-type="int" direction="in"/>
  +  <parameter name="displayWidth" type="int" direction="in"/>
     
  -  <parameter name="maximumLength" java-type="int" direction="in"/>
  +  <parameter name="maximumLength" type="int" direction="in"/>
     
     
  -  <parameter name="validator" java-type="net.sf.tapestry.valid.IValidator" required="yes" direction="in">
  +  <parameter name="validator" type="net.sf.tapestry.valid.IValidator" required="yes" direction="in">
       <description>
       Converts value to a string and parses strings back into object values.
       </description>
  @@ -31,13 +31,13 @@
     <!-- Has to use custom parameter connection, because it is invoked when not
          renderring. -->
          
  -  <parameter name="displayName" java-type="java.lang.String" required="yes" direction="custom">
  +  <parameter name="displayName" type="java.lang.String" required="yes" direction="custom">
       <description>
       Name used by FieldLabel and when generating validation error messages.
       </description>
     </parameter>
     
  -  <parameter name="type" java-type="java.lang.String" required="no" direction="in" property-name="typeName">
  +  <parameter name="type" type="java.lang.String" required="no" direction="in" property-name="typeName">
     	<description>
     	Identifies type to convert to when converting strings in request.
     	</description>
  
  
  
  1.8       +3 -3      jakarta-tapestry/framework/src/net/sf/tapestry/valid/FieldLabel.jwc
  
  Index: FieldLabel.jwc
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/valid/FieldLabel.jwc,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- FieldLabel.jwc	26 Jan 2003 02:59:21 -0000	1.7
  +++ FieldLabel.jwc	7 Feb 2003 04:27:05 -0000	1.8
  @@ -12,8 +12,8 @@
     Labels a ValidField.
     </description>
     
  -  <parameter name="field" java-type="net.sf.tapestry.form.IFormComponent" required="yes" direction="in"/>
  +  <parameter name="field" type="net.sf.tapestry.form.IFormComponent" required="yes" direction="in"/>
     
  -  <parameter name="displayName" java-type="java.lang.String" direction="in"/>
  +  <parameter name="displayName" type="java.lang.String" direction="in"/>
     
   </component-specification>
  
  
  
  1.14      +44 -26    jakarta-tapestry/framework/src/net/sf/tapestry/util/xml/AbstractDocumentParser.java
  
  Index: AbstractDocumentParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/framework/src/net/sf/tapestry/util/xml/AbstractDocumentParser.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- AbstractDocumentParser.java	17 Jan 2003 17:40:20 -0000	1.13
  +++ AbstractDocumentParser.java	7 Feb 2003 04:27:05 -0000	1.14
  @@ -64,6 +64,9 @@
   import javax.xml.parsers.DocumentBuilderFactory;
   import javax.xml.parsers.ParserConfigurationException;
   
  +import net.sf.tapestry.ApplicationRuntimeException;
  +import net.sf.tapestry.IResourceLocation;
  +import net.sf.tapestry.Tapestry;
   import org.apache.commons.logging.Log;
   import org.apache.commons.logging.LogFactory;
   import org.apache.oro.text.regex.MalformedPatternException;
  @@ -83,10 +86,6 @@
   import org.xml.sax.SAXException;
   import org.xml.sax.SAXParseException;
   
  -import net.sf.tapestry.ApplicationRuntimeException;
  -import net.sf.tapestry.IResourceLocation;
  -import net.sf.tapestry.Tapestry;
  -
   /**
    *  A wrapper around {@link DocumentBuilder} (itself a wrapper around
    *  some XML parser), this class provides error handling and entity
  @@ -202,7 +201,8 @@
        *`
        **/
   
  -    protected Document parse(IResourceLocation resourceLocation, String rootElementName) throws DocumentParseException
  +    protected Document parse(IResourceLocation resourceLocation, String rootElementName)
  +        throws DocumentParseException
       {
           boolean error = true;
   
  @@ -239,7 +239,10 @@
   
                   if (!_entities.containsKey(publicId))
                       throw new DocumentParseException(
  -                        Tapestry.getString("AbstractDocumentParser.unknown-public-id", resourceLocation, publicId),
  +                        Tapestry.getString(
  +                            "AbstractDocumentParser.unknown-public-id",
  +                            resourceLocation,
  +                            publicId),
                           resourceLocation);
               }
   
  @@ -254,28 +257,39 @@
               // This constructor captures the line number and column number
   
               throw new DocumentParseException(
  -                Tapestry.getString("AbstractDocumentParser.unable-to-parse", resourceLocation, ex.getMessage()),
  +                Tapestry.getString(
  +                    "AbstractDocumentParser.unable-to-parse",
  +                    resourceLocation,
  +                    ex.getMessage()),
                   resourceLocation,
                   ex);
           }
           catch (SAXException ex)
           {
               throw new DocumentParseException(
  -                Tapestry.getString("AbstractDocumentParser.unable-to-parse", resourceLocation, ex.getMessage()),
  +                Tapestry.getString(
  +                    "AbstractDocumentParser.unable-to-parse",
  +                    resourceLocation,
  +                    ex.getMessage()),
                   resourceLocation,
                   ex);
           }
           catch (IOException ex)
           {
               throw new DocumentParseException(
  -                Tapestry.getString("AbstractDocumentParser.unable-to-read", resourceLocation, ex.getMessage()),
  +                Tapestry.getString(
  +                    "AbstractDocumentParser.unable-to-read",
  +                    resourceLocation,
  +                    ex.getMessage()),
                   resourceLocation,
                   ex);
           }
           catch (ParserConfigurationException ex)
           {
               throw new DocumentParseException(
  -                Tapestry.getString("AbstractDocumentParser.unable-to-construct-builder", ex.getMessage()),
  +                Tapestry.getString(
  +                    "AbstractDocumentParser.unable-to-construct-builder",
  +                    ex.getMessage()),
                   ex);
           }
           finally
  @@ -301,7 +315,8 @@
        * 
        **/
   
  -    protected void validateRootElement(Document document, String rootElementName) throws DocumentParseException
  +    protected void validateRootElement(Document document, String rootElementName)
  +        throws DocumentParseException
       {
   
           Element root = document.getDocumentElement();
  @@ -355,12 +370,14 @@
        *
        **/
   
  -    public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
  +    public InputSource resolveEntity(String publicId, String systemId)
  +        throws SAXException, IOException
       {
           String entityPath = null;
   
           if (LOG.isDebugEnabled())
  -            LOG.debug("Attempting to resolve entity; publicId = " + publicId + " systemId = " + systemId);
  +            LOG.debug(
  +                "Attempting to resolve entity; publicId = " + publicId + " systemId = " + systemId);
   
           if (_entities != null)
               entityPath = (String) _entities.get(publicId);
  @@ -414,21 +431,18 @@
   
       protected String getValue(Node node)
       {
  -        String result;
  -        Node child;
  -        Text text;
  -        StringBuffer buffer;
  -
  -        buffer = new StringBuffer();
  +        StringBuffer buffer = new StringBuffer();
   
  -        for (child = node.getFirstChild(); child != null; child = child.getNextSibling())
  +        for (Node child = node.getFirstChild(); child != null; child = child.getNextSibling())
           {
  -            text = (Text) child;
  -
  +            Text text = (Text) child;
               buffer.append(text.getData());
           }
   
  -        result = buffer.toString().trim();
  +        String result = buffer.toString().trim();
  +
  +        if (Tapestry.isNull(result))
  +            return null;
   
           return result;
       }
  @@ -615,7 +629,8 @@
        * 
        **/
   
  -    protected void validate(String value, String pattern, String errorKey) throws DocumentParseException
  +    protected void validate(String value, String pattern, String errorKey)
  +        throws DocumentParseException
       {
           if (_compiledPatterns == null)
               _compiledPatterns = new HashMap();
  @@ -635,7 +650,10 @@
           if (_matcher.matches(value, compiled))
               return;
   
  -        throw new InvalidStringException(Tapestry.getString(errorKey, value), value, getResourceLocation());
  +        throw new InvalidStringException(
  +            Tapestry.getString(errorKey, value),
  +            value,
  +            getResourceLocation());
       }
   
       /**