[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: concatenation of sibling names
You can use the previous-sibling and following-sibling axes in succession to access all of the element's siblings. Then use the name() function (or alternately the local-name() function if you want to strip off namespace prefixes) to get the element's name. You should play around with the <xsl:text> elements if they don't suit your desired output. <xsl:template match="db/*"> <xsl:for-each select="previous-sibling::*"> <xsl:value-of select="name()"/> <xsl:text> </xsl:text> </xsl:for-each> <xsl:for-each select="following-sibling::*"> <xsl:value-of select="name()"/> <xsl:text> </xsl:text> </xsl:for-each> </xsl:template> On Tuesday 12 February 2002 08:09, Saverio Perugini wrote: > Hello, > > Is it possible to concatenate the names of all siblings of a > node into a string for later use? > > e.g., in the following data, > > <db> > <coffee>...</coffee> > <tea>...</tea> > <milk>...</milk> > <sugar>...</sugar> > <salt>...</salt> > <pepper>...</pepper> > </db> > > if the processor was working on the node "coffee" -- construct > the following string: "tea milk sugar salt pepper" or likewise if the > processor was working on the node "sugar" -- construct > the following string: "coffee tea milk salt pepper". > > Specifically, can I use a foreach construct, loop through all siblings > to tally up/concat() the name() during each iteration and store the result > in a parameter for use later in the stylesheet? > > Thank You. > > Saverio Perugini > > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list -- Peter Davis Two percent of zero is almost nothing. 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
|