Chris -
thanks for sharing your solution (IMO it will help future searchers/readers
of the list, or others with similar problems searching the list archive)!

Note that the `!=` is an existential quantifier in XPath; i.e. it returns
`true` if *any* value on the left is not equal to *any* value of the
right*. So you might have had an expression problem earlier.

Cheers,
Bridger
* -- I totally and completely cribbed that note from Mr. Liam Quin, who is
often giving away advice like that on the xml freenode IRC channel. Credit
to him :).

On Tue, Mar 26, 2019 at 8:48 AM Christopher Yocum <cyo...@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
> <bdysonsm...@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 <cyo...@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 <cyo...@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 <cyo...@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
>

Reply via email to