Hi Chris,
I’m glad to hear you found a solution.
I was surprised to hear that functx:is-value-in-sequence did the job, though. The body of this function is nothing else than a general comparison: $value = $seq [1] (and I would even have guessed that your query will be eventually rewritten to a representation in which the function body is completely inlined).
The query should be even faster if the import of the FunctX library can be avoided. If the data is confidential, feel free to send us the output of the Info View panel of the GUI.
Cheers, Christian
[1] http://www.xqueryfunctions.com/xq/functx_is-value-in-sequence.html
On Tue, Mar 26, 2019 at 1:48 PM Christopher Yocum cyocum@gmail.com wrote:
Hi Bridger,
The solution was indeed using is-value-in-sequence:
import module namespace functx = 'http://www.functx.com'; let $biblFull := distinct-values(collection('edil/Prologue Merged 2013.xml')//biblFull/@id) let $biblStruct := distinct-values(collection('edil/Prologue Merged 2013.xml')//biblStruct/@id) let $bibl := distinct-values(collection('edil/Prologue Merged 2013.xml')//bibl/@id) for $title in collection('edil/eDIL-A.xml')//entry//title where not(functx:is-value-in-sequence($title/@target, $biblFull)) and not(functx:is-value-in-sequence($title/@target, $biblStruct)) and not(functx:is-value-in-sequence($title/@target, $bibl)) return $title
It is also pretty speedy as well.
All the best, Chris
On Tue, Mar 26, 2019 at 12:47 PM Bridger Dyson-Smith bdysonsmith@gmail.com wrote:
Chris,
please don't leave us hanging :). What was your solution?
Best, Bridger
On Tue, Mar 26, 2019 at 8:40 AM Christopher Yocum cyocum@gmail.com wrote:
Hi,
Of course the instant you say that, you fix it. Thanks for everyone's support.
All the best, Chris
On Tue, Mar 26, 2019 at 12:35 PM Christopher Yocum cyocum@gmail.com wrote:
Hi Everyone,
I just tried using functx:is-value-in-sequence: where not(functx:is-value-in-sequence($title/@id, $biblFull)). I am still getting erroneous results. At this point, I very near offering money for someone to help me fix this. It looks like a bug though to me. I should not be getting the results that I am.
All the best, Chris
On Tue, Mar 26, 2019 at 12:13 PM Christopher Yocum cyocum@gmail.com wrote:
Hi,
If you are allowed to share some snippets of the actual documents, it will be easier to see how the query needs to be phrased.
Sadly, probably not. I can probably do something off list but even then I would hesitate.
I tried your proposal from your other email and I am getting the same results as with all other attempts. I feel like this should be very straightforward and I am just missing something small.
Have you verified that $biblFull and $biblStruct actually contain strings? If not, do you need to declare a default namespace? The vocabulary looks like TEI, so
declare default element namespace "http://www.tei-c.org/ns/1.0";
It is TEI-like. It is not exactly TEI and I very much doubt it would validate.
may be necessary. And if it is TEI, the ID attributes are probably called @xml:id rather than @id.
No, the XML documents are explicit about the @id as I checked.
Thank you for your help.
All the best, Chris