我正在阅读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以使其正常工作?
答案 0 :(得分:8)
默认情况下,err
前缀未绑定到任何名称空间,因此您需要在查询对话框中显式声明它:
declare namespace err = "http://www.w3.org/2005/xqt-errors";
try { 3 div 0 } catch err:FOAR0001 { 'gotcha' }
在某些查询处理器中,此前缀是预先声明的。