Subject: Re: [xsl] getting the node position in source xml in a variable From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Wed, 27 Feb 2002 13:01:26 +0000 |
Hi Gurvinder, > I dont think that when i convert using msxml:node-set i get a single > root node... Then you're not passing in result tree fragments, which means that you don't need to use the msxsl:node-set() function at all :) Try: <xsl:template name="lookup"> <xsl:param name="name"/> <xsl:param name="datanodes"/> <xsl:param name="displaynodes"/> <select name="{$name}"> <xsl:for-each select="$displaynodes"> <xsl:sort select="." /> <xsl:variable name="num" select="count(preceding-sibling::*) + 1"/> <xsl:variable name="data" select="$datanodes[$num]" /> <option id="{$data}" value="{$data}"> <xsl:value-of select="$data"/>-<xsl:value-of select="."/> </option> </xsl:for-each> </select> </xsl:template> Note how the $num variable is being set - to the number of preceding siblings that the display node has, plus one. Thus $num is based on the position of the display node within the original source rather than on its position within the sorted list. You could instead use the xsl:number element: <xsl:template name="lookup"> <xsl:param name="name"/> <xsl:param name="datanodes"/> <xsl:param name="displaynodes"/> <select name="{$name}"> <xsl:for-each select="$displaynodes"> <xsl:sort select="." /> <xsl:variable name="num"> <xsl:number /> </xsl:variable> <xsl:variable name="data" select="$datanodes[$num]" /> <option id="{$data}" value="{$data}"> <xsl:value-of select="$data"/>-<xsl:value-of select="."/> </option> </xsl:for-each> </select> </xsl:template> Though that won't give you the same number unless all the display nodes are of the same type (i.e. they're elements with the same name). Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] getting the node position, Gurvinder Singh | Thread | RE: [xsl] getting the node position, Gurvinder Singh |
Re: [xsl] <br/> in FO?, Gustaf Liljegren | Date | RE: [xsl] XSLQUERRY, Jeff Beadle |
Month |