Subject: RE: [xsl] Selecting all siblings and self into a node-set From: <Jarno.Elovirta@xxxxxxxxx> Date: Mon, 29 Mar 2004 10:27:13 +0300 |
Hi, > Then I have a template matching "webpage": > > <xsl:template match="webpage" mode="meta2"> > <xsl:variable name="menu-names"> > <xsl:value-of select="preceding-sibling::webpage[*]/name"/> > <xsl:value-of select="name" /> > <xsl:value-of select="following-sibling::webpage[*]/name"/> > </xsl:variable> > > <xsl:value-of select="$menu-names" /> > <xsl:apply-templates mode="meta2" /> > </xsl:template> [snip] > which indicates that each "value-of" operator is only > picking up one node. > > How can I get _all_ preceding and following > node's "name" elements into a single node-set? In the template above you're creating Result Tree Fragment; use the select attribute if you want to bind a variable to a node-set. <xsl:variable name="menu-names" select="preceding-sibling::webpage/name | name | following-sibling::webpage/name" /> or simply <xsl:variable name="menu-names" select="../webpage/name" /> Note that xsl:value-of will extract the string value and if you give it a node-set, it will return "the string-value of the node in the node-set that is first in document order". Use xsl:for-each to go throught the nodes and output their string values. Cheers, Jarno - Hypnoskull: We Know It All - We Know All
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Selecting all siblings and se, Randolph Kahle | Thread | [xsl] Crash the Microsoft Browser, Shashi . Bhushan |
[xsl] Crash the Microsoft Browser, Shashi . Bhushan | Date | RE: [xsl] replacing values in file1, ronan martin |
Month |