camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Riaan Annandale <ria...@mundane.co.za>
Subject XQuery NPE going from saxon 9.5 to 9.7 (upgraded camel from 2.17.4 -> 2.20.1)
Date Wed, 13 Dec 2017 10:20:34 GMT
Hi guys

I think saxon went to 9.7 in camel 2.18 (could be 19). Anyway, I used the latest to illustrate
my problem (2.20.1 at the time of writing)

I have a routes that receive XML payloads which I then transform via xqueries. Inside these
I use local functions for readability (read: it’s the first thing I tried when solving my
problem and it worked). 

Since saxon went to 9.7 I get a null pointer exception when an xquery containing a local function
tries to process the XML.

To demonstrate this, I have made a GitHub project:
https://github.com/rannandale/xqueryIssue

In the project I use two xqueries to transform the same source. 
- One uses an inline for loop:
<o>
	<variables>{for $v in /root/Data return $v/Name}</variables>
</o>

- One uses the local function style:
declare function local:loopMe($nodes)
{
   for $node in $nodes
    return 
<variables>{$node/*:Name}</variables>
};

<o>
{local:loopMe(/root/Data)}
</o>

The latter is the one that returns the NPE.

I know I could probably go refactor all my xqueries to match the inline style, but I figured
I’d see if there is an issue here other than PEBKAC. They also get quite complex, so it’s
quite a bit of work.

The camel website says I should ask on the mailing list first before raising an issue, so
here I am – first post and all.

Thanks guys
Riaan

Sent from Mail for Windows 10


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message