This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

input problem


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]