[xquery-talk] Xquery+ reduce two docs into one

James A. Robinson jim.robinson at stanford.edu
Fri Jan 12 07:05:58 PST 2007


I obviously need to go re-read the spec and learn more about
how the union/intersect operators work, to see how I can
make use of them.  I kept going on the same probably-bantersect := distinct-values(
  for $f in ($m1/FileName, $m2/FileName)
  where (($f = ($m1/FileName)) and ($f = $m2/FileName))
  return xs:string($f)
)
return
<FF>
  <meta>{
    (: for each meta with an intersecting FileName :)
    for $m in ($m1, $m2)
    where ($intersect = $m/FileName)
    return
      (: return the meta elements which are not FileName :)
      $m/*[not(self::FileName)],
    (: return the FileName intersect :)
    for $name in $intersect
    return <FileName>{$name}</FileName>
  }</meta>
</FF>

It's still not very fast and I assume the loops I'm going through
are inefficent compared to The Proper Way to perform a join.

Jim
trend as my first response, and this is as far as I got
(and now I gotta get to work!):



- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
James A. Robinson                       jim.robinson at stanford.edu
Stanford University HighWire Press      http://highwire.stanford.edu/
+1 650 7237294 (Work)                   +1 650 7259335 (Fax)


More information about the talk mailing list