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 |