|
Subject: Re: [xsl] concatenation of sibling names From: Peter Davis <pdavis152@xxxxxxxxx> Date: Tue, 12 Feb 2002 10:13:14 -0800 |
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
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] concatenation of sibling , Jeni Tennison | Thread | Re: [xsl] concatenation of sibling , Joerg Heinicke |
| Re: [xsl] PDF security, Peter Davis | Date | Re: [xsl] concatenation of sibling , Thomas B. Passin |
| Month |