xsl-list
[Top] [All Lists]

Re: [xsl] Question on Kaysian method for set intersection

2012-03-28 07:43:30
Hermann Stamm-Wilbrandt wrote:
I used Kaysian method as described in this document (section 1c), sofar:
http://www.xml.org//sites/www.xml.org/files/xslt_efficient_programming_techniques.pdf#page=3

Now I wanted to use it similarly for nodesets from different parts of
document.
That does not work because /flags[1]/flag[.='A'] is not the same node
as /flags[2]/flag[.='A'].
Is it possible to get the flag with "A" for $int and flags for "A", "B" and
"C" for $uni?
yes

If so, with keys?
yes

If the the flags are unique per nodeset, you can simply use:

<xsl:key name="flag" match="flag" use="."/>

<xsl:variable name="int" select="document('')//flags/flag[count(.|key('flag', 
.)[1])>1]"/>
<xsl:variable name="uni" select="document('')//flags/flag[count(.|key('flag', 
.)[1])=1]"/>

If the flags in one nodeset are not unique, you have to use additional
code to create unique nodesets, first.

Regards,
Markus Abt


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>