Re: [xsl] intersection of different node types

Subject: Re: [xsl] intersection of different node types
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 27 Apr 2005 17:40:45 +0100
  Is it meaningful to take the intersection of a sequence of element nodes
  and a sequence attribute nodes, like this:

It's meaningful but doesn't mean what you want it to mean (it will
always be the empty sequence).

intersect (like union) works on node identity. so two nodes are distinct
even if they have the same string value.

  <xsl:variable
    name="intersection"
    select="a/b/text() intersect c/@d/text()"/>

attribute nodes don't have children so @d/text() is the empty sequence.
intersecting any sequence with teh empty sequence will result in the
empty sequence.

To compare string (typed) values rather than node identity just use the
same expression as in xpath1
you want all a/b that are not equal to a value of a node in c/@d so that
is

a/b[not(. = current()/c/@d)]

David

________________________________________________________________________
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:
http://www.star.net.uk
________________________________________________________________________

Current Thread