[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Selecting all siblings and self into a node-set
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
|
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
|