|
Subject: RE: [xsl] selecting HTML Options From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Tue, 18 Jan 2005 09:45:51 -0000 |
Try this:
<xsl:variable name="skeleton">
<option value="00">JAN</option>
<option value="01">FEB</option>
...
</xsl:variable>
<xsl:template name="monthOptions">
<xsl:param name="name"/>
<xsl:param name="value"/>
<select name="{$name}"
<xsl:apply-templates select="$skeleton/option" mode="o">
<xsl:with-param name="value" select="$value"/>
</
</select>
</
<xsl:template match="option" mode="o">
<xsl:param name="value"/>
<xsl:copy>
<xsl:copy-of select="@value"/>
<xsl:if test="@value=$value">
<xsl:attribute name="selected">selected</xsl:attribute>
</xsl:if>
</xsl:copy>
</xsl:template>
Not much shorter in the end, but perhaps more satisfying. Needs the
xx:node-set extension if using XSLT 1.0.
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Chris_Graham@xxxxxxxxxxx [mailto:Chris_Graham@xxxxxxxxxxx]
> Sent: 18 January 2005 04:52
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: [xsl] selecting HTML Options
>
> There has to be an easier way to select <option> elements inside a
> <select> element that this:
>
> <!-- Generate the Month combo box -->
> <xsl:template name="monthOptions">
> <xsl:param name="name"/>
> <xsl:param name="value"/>
> <select name="{$name}">
>
> <xsl:if test="'00' = $value"><option value='00'></option></xsl:if>
> <xsl:if test="not('00' = $value)"><option value='00' selected=
> "selected"></option></xsl:if>
> <xsl:if test="'01' = $value"><option
> value='01'>JAN</option></xsl:if>
> <xsl:if test="not('01' = $value)"><option value='01' selected=
> "selected">JAN</option></xsl:if>
> <xsl:if test="'02' = $value"><option
> value='02'>FEB</option></xsl:if>
> <xsl:if test="not('02' = $value)"><option value='01' selected=
> "selected">FEB</option></xsl:if>
>
> ...
>
> </select>
> </xsl:template>
>
> Can anyone point me in the right direction? I'd rather avoid
> calling java
> directly... :-(
>
> -Chris
>
>
>
> **************************************************************
> *********************
> This email contains information confidential to AAMI Limited.
> If you are not the intended recipient, you must not disclose
> or use the information in it. If you have received this email
> in error, please notify us immediately by return email, and
> delete this email and any attached documents.
> AAMI Limited is not responsible for any changes made to a
> document other than those made by AAMI Limited or for the
> effect of the changes on the document meaning.
> **************************************************************
> *********************
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] selecting HTML Options, Daniel Bibbens | Thread | RE: [xsl] selecting HTML Options, Chris_Graham |
| [xsl] Xalan XSLT transformation usi, Ivan . Price | Date | RE: [xsl] selecting HTML Options, Michael Kay |
| Month |