打印出xquery序列并退出

打印出xquery序列并退出,xquery,sequence,pretty-print,marklogic,Xquery,Sequence,Pretty Print,Marklogic,有没有办法在xquery文件的执行流中“死”并输出序列变量的格式良好的打印输出 我正在尝试类似的东西: return { fn:error(xs:QName("ERROR"), $xml) } 但这似乎不太管用 谢谢 根据您的评论(您需要它进行调试),我猜您正在寻找这里描述的fn:trace函数 如果要中止执行流并在应用程序中输出错误,实际上应该使用XQuery异常处理。根据您的评论(调试时需要它),我猜您正在寻找此处描述的fn:trace函数 如果要中止执行流并在应用程序中输出错误,实际上应

有没有办法在xquery文件的执行流中“死”并输出序列变量的格式良好的打印输出

我正在尝试类似的东西:

return { fn:error(xs:QName("ERROR"), $xml) }
但这似乎不太管用

谢谢

根据您的评论(您需要它进行调试),我猜您正在寻找这里描述的
fn:trace
函数

如果要中止执行流并在应用程序中输出错误,实际上应该使用XQuery异常处理。

根据您的评论(调试时需要它),我猜您正在寻找此处描述的
fn:trace
函数


如果要中止执行流并在应用程序中输出错误,实际上应该使用XQuery异常处理。

尝试类似的操作,如果这不是FLWOR表达式的一部分,则省略
返回

...
return fn:error((), "DEBUG", $xml)
不需要大括号,除非您封闭了一个表达式,例如
{current-time()}
。返回表达式不是封闭的

使用MarkLogic时,最好将
fn:error的第一个参数保留为空。这样你就不必担心QName了,而且有些人认为它是为预定义的错误保留的。MarkLogic使用第二个参数填写
错误:code
,第三个参数填写数据


有关
fn:error
的详细信息,请参阅,如果这不是FLWOR表达式的一部分,请省略
返回值

...
return fn:error((), "DEBUG", $xml)
不需要大括号,除非您封闭了一个表达式,例如
{current-time()}
。返回表达式不是封闭的

使用MarkLogic时,最好将
fn:error的第一个参数保留为空。这样你就不必担心QName了,而且有些人认为它是为预定义的错误保留的。MarkLogic使用第二个参数填写
错误:code
,第三个参数填写数据


有关
fn:error
的更多信息,请参阅和

您能否用功能术语详细说明您试图实现的目标?抛出错误可能不是最好的解决方案。只是尝试获取一些打印输出以进行调试。您能否从功能方面详细说明您试图实现的目标?抛出错误可能不是最好的解决方案。只是尝试获取一些打印输出以进行调试。是否有任何方法可以打印出格式良好的序列,而不是将所有值压缩成一个长字符串?如果只是为了调试,为什么需要格式良好的东西?因为它们的输出将进入
stderr
,您可以在那里获取它并以某种方式对其进行格式化。有没有办法打印出格式良好的序列,与其将所有值压缩成一个长字符串,还不如将其格式化为一个长字符串?如果只是为了调试,为什么需要格式良好的东西?因为它们的输出将进入
stderr
,您可以在那里获取它并以某种方式对其进行格式化。对不起,我假设您可以根据需要将其放入FLWOR表达式中。
返回值在FLWOR或类型开关外部无效。因此,如果上下文不是FLWOR,则省略
返回值
。还有更多。对不起,我想您可以根据需要将其转换为FLWOR表达式。
返回值在FLWOR或类型开关外部无效。因此,如果上下文不是FLWOR,则省略
返回值
。还有更多。