[xquery-talk] Conditional use of fn:error() ?

Yoshi Okamoto yoshiokamoto at yahoo.com
Mon Jan 21 03:07:36 PST 2013

Dear list subscribers,

I noticed that different XQuery processors (BaseX, 
Saxon, XMLPrime, Zorba) return different results for the following queries:

Query A:

Query B:
  error(())[contains('http://....', 'details')] 
Query C:
  let $url := <url>...</url>
  where contains($url, 'details')
  return error(())

All except for XMLPrime return an empty sequence.

Query D:
  let $url := <url>...</url>
  return error(())[contains($url, 'details')] 

All except for Zorba return an error.

My original intention was to raise an error whenever a certain condition is true. My questions would be:

- what are the correct results for Query A-D?

- XMLPrime is the implementation that always raises an error. If this behavior should be correct, how would I proceed to only raise errors under a certain condition?

Thank you for your attention and patience.

Best regards

More information about the talk mailing list