This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]