[xquery-talk] Need some theory help
David Carlisle
davidc at nag.co.uk
Mon Sep 8 14:19:31 PDT 2008
> (b) What about "intersect": does it distribute or not?
I think not, for the same reason that except does not.
$a/descendant::*/child::b intersect $a/descendant::*/(child::c/child::b)
is
$a/descendant::*/(child::c/child::b)
but
a/descendant::*/(child::b intersect child::c/child::b)
is empty, because
> (easily seen because child::c/child::b will not select any nodes that are
> selected by child::b).
> (a) How would you prove that "union" distributes through "/" and "except"
> does not? (Assuming my conjecture is correct, of course)
something along the lines of semantics of
E/F is Union{f(e) | e in E} where you think of F as a function from a single
item e in E to a node set so
E/F union E/G is Union{f(e) | e in E} union Union{g(e) | e in E}
wheras
E/(F union G) is Union{fug(e) | e in E}
where fug is the function from a node to a node set defined by
fug(e) = f(e) union g(e).
then some general mutterings about union distributing over union.
(this is using xpath 1 node set terminology, but xpath2 sequence +
implied removal of duplicates for path operators is supposed to model
set semantics here.
David
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
More information about the talk
mailing list