Re: [xsl] How to select immediate preceding-sibling value

Subject: Re: [xsl] How to select immediate preceding-sibling value
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 15 Nov 2005 12:24:57 GMT
		<xsl:for-each select="child::*">
you can just use select="*" child:: is implied.
			<xsl:if test="name()='PanelName'">

better to use test="self::'PanelName" rather than testing name()

you never need to start with current() as relative paths always start
from the current node. In this case you select the name attributes of
all preceding siblings but value-of (in xslt1) gives the string value of
just the first node in document order. If you just want to select the
nearest sibling use

But there is no need to for-each over all nodes and then have an xsl:if
test that just picks out the one you want, just for-each over your
PanelName elements:

I think you just want

		<xsl:for-each select="PanelName">
				<xsl:text>current node---	</xsl:text>
				<xsl:value-of select="@name"/>
				<xsl:text>Preceding sibling---</xsl:text>
				<xsl:value-of select="preceding-sibling::Process[1]/@name"/>


This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:

Current Thread