From: Joe W. <jo...@gm...> - 2010-06-09 12:41:00
|
Are the doubly nested predicates really necessary? Would this work for you? collection("/db/setA/")/content[.//link/@href = collection("/db/setB/")/content/@id]/@id/string() Do you have indexes set on @href and @id qnames? If not, you should create an index definition, and reindex the collection. See "Prefer simple index definitions" (http://exist-db.org/tuning.html#idxdefs). With indexes created, you might Another way of reworking this query according to the principle of "Use the ancestor or parent axis instead of a top-down approach" (http://exist-db.org/tuning.html#N1034C): collection("/db/setA/")//link[@href = collection("/db/setB/")/content/@id]/ancestor::content/@id/string() Joe On Wed, Jun 9, 2010 at 8:05 AM, Markus <m2...@li...> wrote: > Hi, > > perhaps my first post was a little bit too complex ... > > 1. I have two large set of xml documents which are linked with each other. > 2. I want to get all documents of set A which have valid links to > documents in set B. > > Example XQuery: > collection("/db/setA/")/content[.//link[@href=collection("/db/setB/")/content/@id]]/@id/string() > > Question: > Is it possible to write an xquery which will return fast results (e.g. > by doing an intersection of two sets)? > Perhaps the exist:join option is quite right for me. But has no effect. > see http://article.gmane.org/gmane.text.xml.exist/17129/match=join > > Kind regards > > Markus > > ------------------------------------------------------------------------------ > ThinkGeek and WIRED's GeekDad team up for the Ultimate > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the > lucky parental unit. See the prize list and enter to win: > http://p.sf.net/sfu/thinkgeek-promo > _______________________________________________ > Exist-open mailing list > Exi...@li... > https://lists.sourceforge.net/lists/listinfo/exist-open > |