打印出xquery序列并退出
有没有办法在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函数 如果要中止执行流并在应用程序中输出错误,实际上应
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,则省略返回值
。还有更多。