Re: [xsl] Connecting the Source and Destination fields

Subject: Re: [xsl] Connecting the Source and Destination fields
From: Ronan Klyne <ronan.klyne@xxxxxxxxxxx>
Date: Wed, 29 Aug 2007 12:26:32 +0100
Yaswanth wrote:
> Hi can you please explain me what exactly the below line is doing and how it
> is working?
> 
> <xsl:for-each 
> select="/root/connection[not(/root/connection/@destination = @source)]">

First, some facts:
* If a connection has a destination that does not equal the source of
any other connection, then it is and the end of the chain.
* If a connection has a source that does not equal any other
connection's destination, then it is the start of the chain.

/root/connection[not(/root/connection/@destination = @source)]
This line is designed to select all the nodes that represent the start
of a chain. It does this by expressing the above statement in XPath:

"If a connection has a source that does not equal any other connection's
destination, then it is the start of the chain."

So, we want to select connections:
/root/connection

with a source attribute:
/root/connection[@source]

that does not equal any connection's destination:
/root/connection[not(/root/connection/@destination = @source)]


I hope this explains it...

	# r

-- 
Ronan Klyne
Business Collaborator Developer
Tel: +44 (0)870 163 2555
ronan.klyne@xxxxxxxxxxx
www.groupbc.com

Current Thread