David C. and Joris already showed possible solutions.
The time complexity of these ssolutions would most probably be close to:
O(count($A) * count($B))
If $A and $B are sufficiently large, more efficient algorithms exist,
e.g. with time complexity close to:
O(log($A) * count($B) )
See for example the implementation of set:leading() (in EXSLT for MSXML4) at:
http://www.xml.com/pub/a/2003/08/06/exslt.html?page=2
Cheers,
Dimitre Novatchev.
On Thu, 3 Mar 2005 22:18:31 +0200, Jan Rademan
<jrademan(_at_)iafrica(_dot_)com> wrote:
Hi
Here is a problem I'm playing around with:
I have two variables containing two sets of nodes.
$A contains 5 elements A,B,C,D,E of element type Service
$B contains a subset of A$ e.g 2 elements B and D
I am using them to create a table which looks like this
A B C D E (Table header, which comes from $A)
B D (First table row, which comes from $B)
$B is reset though a for-each loop, which then loops to fill the table:
A B C D E
B D
A C D
E
and so on.
The for each which runs through the table, builds the table by running
though each element in $A and checking to see if it exists in $B. If so, the
value written.
I need to determine the positional value of the element being written, as it
occurs in the in the variable $B
If I just use the postion function, I get the position value from the
superset variable $A
so I get output like this:
A B C D E
2 4
1 3 4
5
The ouput I am looking for should rather list the position as it occurs in
the subset variable $B:
A B C D E
1 2
1 2 3
1
Any ideas how I can find out what the position of the current node is in a
foreign node set? (As opposed to the position in the current node set)
Thanks.
Jan Rademan
--~------------------------------------------------------------------
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>
--~--
--~------------------------------------------------------------------
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>
--~--