2

我正在阅读W3C Recommendation for XQuery 3.0。这是我试图做的:

try {
   3 div 0
} catch err:XPTY0004{
   'typing error'
} catch * {
   $err:code || '
' ||
   $err:description || '
' ||
   $err:value || '
' ||
   $err:module || '
' ||
   $err:line-number || '
' ||
   $err:additional
}

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

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

4

1 回答 1

8

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

declare namespace err = "http://www.w3.org/2005/xqt-errors";
try { 3 div 0 } catch err:FOAR0001 { 'gotcha' }

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

于 2014-09-08T09:54:39.913 回答