xsl-list
[Top] [All Lists]

Re: [xsl] compare two node sets

2020-01-19 15:26:54
On 19.01.2020 22:21, Wolfhart Totschnig 
wolfhart(_dot_)totschnig(_at_)mail(_dot_)udp(_dot_)cl
wrote:
Thank you, David, Michael, and Liam for the prompt replies! Michael's
solution seems to be the simplest to implement. I use Saxon 9 HE, so
XPath 2.0 should be okay. And, indeed, quadratic performance should not
be an issue. However, Saxon throws the following error:

XPST0003: Unexpected token "every" at start of expression

Is there a typo in the expression? I used the expression as given:

<xsl:when test="count(//director) eq count(//author) and every $d in
//director satisfies some $a in //author satisfies deep-equal($d/*, $a/*)">

To clarify, the context node is the <film> element.

I think you need to put the `every` expression into parenthesis, and in
the context of a `film` element it suffices to use child selection, so
to simplify:

count(director) eq count(author) and (every $d in director satisfies
some $a in author satisfies deep-equal($d/*, $a/*))
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

<Prev in Thread] Current Thread [Next in Thread>