|
[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
|

Cart








