RE: [XQuery] Error Handling ?

> This is a badly lacking feature in XQuery:
> AFAIK, there is no way to recover/catch a dynamic error after it
happens.

> 1) introduce an error catching mechanism

The WG considered adding this functionality to XML Query and decided to
not add it to XML Query 1.0.  

This decision was made in late 2002 and is recorded at [1].

The WG knows that there are several things missing from XML Query 1.0
e.g. an update language.  If we included everything that was requested
we would simply never get a Version 1.0 completed. 

> 2) at the very least, consider modifying some functions like doc()
>   so that they return a conventional value (eg the empty sequence)
>   instead of raising an error

I am not sure why you would want the doc() function to be silent about
errors it encounters.  Can you explain why you want this result?

/paulc

[1]
http://www.w3.org/XML/2003/11/xpath-xquery-issues/#xquery-try-catch-erro
r

Paul Cotton, Microsoft Canada 
17 Eleanor Drive, Nepean, Ontario K2E 6A3 
Tel: (613) 225-5445 Fax: (425) 936-7329 
mailto:pcotton@microsoft.com

  

> -----Original Message-----
> From: public-qt-comments-request@w3.org [mailto:public-qt-comments-
> request@w3.org] On Behalf Of Xavier Franc
> Sent: January 31, 2004 6:06 PM
> To: public-qt-comments@w3.org
> Subject: [XQuery] Error Handling ?
> 
> 
> 
> 
> Actually, at least two kinds of dynamic errors should be
distinguished:
> fatal / non-fatal, or non-recoverable / recoverable
> (XSLT2 has this distinction).
> 
> Clearly there is a semantic difference between:
> 1)  a wrong regular expression: this is a programming error,
>       there is no real point to recover it
> 2) trying to parse a document is an environment-dependent
>     operation, that may fail for unpredictable reasons:
>   there isdefinitely a need to recover such an error
> 
> Two possible solutions:
> 
> 1) introduce an error catching mechanism
>      -- in my implementation (Qizx/open) I have simply added a
> catch-error() function.
>     But a more sophisticated mechanism (try/catch) would probably be
> better.
> 
> 2) at the very least, consider modifying some functions like doc()
>   so that they return a conventional value (eg the empty sequence)
>   instead of raising an error
> 

Received on Saturday, 31 January 2004 19:13:40 UTC