[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Problems displaying xsl:value-of within quotes
David, >I have written the following XSLT to display a list of checkboxes > ><xsl:for-each select="data"> > ><TD><INPUT TYPE="CHECKBOX" NAME="item1"><xsl:value-of >select="@label"/></INPUT></TD> > ></xsl:for-each> > >which is fine, but I want to change the NAME="item1" to NAME="<xsl:value-of >select="@name"/>" but this does not work. There are two ways to do what you want to do, one of which is a shortening of the other. The essential thing you have to realise is that you're constructing an element tree, not putting together strings to give an HTML file. To rephrase your question with this in mind: what you want to do is create an 'INPUT' element whose 'NAME' attribute is equal to the value of the 'name' attribute of the current node (the 'data' element). The first way, which is longer but a bit more flexible, is to use xsl:attribute, which lets you specify the value of an attribute on a result element in any way you want within its content: <xsl:for-each select="data"> <TD> <INPUT TYPE="CHECKBOX"> <xsl:attribute name="NAME"> <xsl:value-of select="@name" /> </xsl:attribute> <xsl:value-of select="@label" /> </INPUT> </TD> </xsl:for-each> The second way, which is shorter, but less flexible, is to use an 'attribute-value-template'. Basically, if you place an XPath (like @name) within {}s in an attribute value, then the XPath is evaluated to give the value for the attribute: <xsl:for-each select="data"> <TD> <INPUT TYPE="CHECKBOX" NAME="{@name}"> <xsl:value-of select="@label" /> </INPUT> </TD> </xsl:for-each> I hope that helps, Jeni Dr Jeni Tennison Epistemics Ltd, Strelley Hall, Nottingham, NG8 6PE Telephone 0115 9061301 ? Fax 0115 9061304 ? Email jeni.tennison@xxxxxxxxxxxxxxxx XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|