如何捕获XQuery 3.0中的错误?

Cho*_*ang 2 xml xquery xquery-3.0

我正在阅读X3 3.0W3C推荐标准.这是我试图做的:

try {
   3 div 0
} catch err:XPTY0004{
   'typing error'
} catch * {
   $err:code || '
' ||
   $err:description || '
' ||
   $err:value || '
' ||
   $err:module || '
' ||
   $err:line-number || '
' ||
   $err:additional
}
Run Code Online (Sandbox Code Playgroud)

在尝试保存文件时,Altova XMLSpy给了我一个错误:未定义的命名空间前缀'err'.

我应该如何首先定义错误以使其工作?

Chr*_*rün 8

默认情况下,err前缀未绑定到任何名称空间,因此您需要在查询对话框中显式声明它:

declare namespace err = "http://www.w3.org/2005/xqt-errors";
try { 3 div 0 } catch err:FOAR0001 { 'gotcha' }
Run Code Online (Sandbox Code Playgroud)

在某些查询处理器中,此前缀是预先声明的.