[xsl] input problem

Subject: [xsl] input problem
From: "ashu t" <aashut@xxxxxxxxxxxxxx>
Date: 5 Jul 2002 14:34:30 -0000
html can have different kind of input types(like check box and radio).but wml can have only text and password so in my style sheet of html to wml conversion i am trying to convert them in to a <select> <option> </option></select>.like if we have html file which contain


<P>Specify your music preferences (check all that apply):</P>
<P><INPUT TYPE="checkbox" NAME="musicpref_rnb" CHECKED> R&B
<BR><INPUT TYPE="checkbox" NAME="musicpref_jazz" CHECKED> Jazz
<BR><INPUT TYPE="checkbox" NAME="musicpref_blues" CHECKED> Blues
<BR><INPUT TYPE="checkbox" NAME="musicpref_newage" CHECKED> New Age


<P>Choose a Category of Room:
<UL>
<INPUT TYPE="radio" NAME="category" VALUE="liv" CHECKED> Living <BR>
<INPUT TYPE="radio" NAME="category" VALUE="din"> Dining <BR>
<INPUT TYPE="radio" NAME="category" VALUE="bed"> Bedroom
</UL>
then i want that in wml as separate
select lists like
Specify your music preferences (check all that apply):
R&B
jazz
Blues
New Age


Choose a Category of Room:
 Living
 Dining
 Bedroom

my stylesheet is for input tag


<xsl:template match="//input">
<xsl:variable name="type" select="@type"/>
<xsl:variable name="name" select="@name"/>
<xsl:if test="$type='text' or $type='password' or $type='radio' or $type='checkbox'">
<xsl:choose>
<xsl:when test="$type='radio'">
<select name={@name}>
<xsl:for-each select="input[{@name}=@name]"/>
<option value={@value}><xsl:apply-templates/></option>
</xsl:for-each>
</select>
</xsl:when>


	            <xsl:when test="$type='text'">
	              <input name="{@name}" type="{@type}">
	  	     <xsl:apply-templates/>
	  	     </input>
	            </xsl:when>

	            <xsl:when test="$type='password'">
	               <input name="{@name}" type="{@type}">
	  	         <xsl:apply-templates/>
	  	       </input>
	            </xsl:whan>
	          </xsl:choose>
	      </xsl:if>
            </xsl:template>



using for each for radio as radio buttons will have the same name and
using value-of select so that only the one group of things should come together and i am not getting how to write about check box as they can have different names.
but it is not working
if i remove <xsl:when test="$type='radio'">
<select name={@name}>
<xsl:for-each select="input[{@name}=@name]"/>
<option value={@value}><xsl:apply-templates/></option>
</xsl:for-each>
</select>
</xsl:when>


then it is working for these two input types .
i guess for each or value-of select is wrong or there are any other errors in the template match code.
ashu
_________________________________________________________
There is always a better job for you at Monsterindia.com.
Go now http://monsterindia.rediff.com/jobs



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



Current Thread