[xsl] empty textarea broken in IE6, mozilla

Subject: [xsl] empty textarea broken in IE6, mozilla
From: "Zakon, Stuart" <stuart_zakon@xxxxxxxxxxxxxxx>
Date: Thu, 14 Nov 2002 13:27:54 -0500
I am a bit surprised that empty <textarea> inputs on forms really break the
current generation of browsers, both IE 6 and mozilla 1.
Here is my XSLT:

<!-- Comments -->
<tr valign="top" align="left"> 
  <td width="15%" bgcolor="#ffffff" class="bodytextbold">Comments:</td>
  <td colspan="3" bgcolor="#ffffff"> 
      <textarea name="comments" cols="50" rows="5" class="bodytext">

What happens is that all the HTML on the page after the textarea is shown by
the browsers as the CONTENTS of the text area! (You have to see the bug to
believe it.)

It appears that the problem is that the XSL processor (Xalan-C) optimizes
the empty element as follows:
     <textarea name="comments" cols="50" rows="5" class="bodytext" />

The browsers absolutely choke on this. 

Manually changing the generated HTML to include the </textarea> end tag
fixes the problem.

Is there a way to suppress this optimization of empty elements? My
<xsl:output> method is "html".

I solved the problem temporarily by adding a blank character text node:

      <textarea name="comments" cols="50" rows="5" class="bodytext">
      <xsl:text> </xsl:text>

However, this is a temporary fix because it forces the <textarea> to include
the blank which I would have to trim later.

Stuart Zakon
Objects by Design

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Current Thread