3

我将 DOM 对象作为参数传递给 Camel 中的 Xquery。

下面是 Xquery 代码,用于访问参数:

declare variable $dom_param as document-node() external;
declare variable $someVariable := $dom_param/h1/text();

在上面运行时,我收到以下错误:

XPST0003 XQuery syntax error near #...T as document(dom_param#:
Expected type name in SequenceType, found <function>(
Error on line 7 column 36
XPST0003 XQuery syntax error near #... variable $someVariable := /{$#:
expected ";", found "{"

关于如何解决这个问题的任何想法?

4

1 回答 1

1

在通常情况下,从外部传递文档节点可能很棘手,因为它需要 XQuery 引擎和环境达成一致。如果您使用的实现确实支持它,请仔细检查文档并从运行文档本身中给出的示例开始。

一种可能的解决方法是传入的不是文档节点,而是包含文档 URI 的字符串,然后使用 fn:doc() 函数读取它。如果您的 DOM 对象是动态构建的,那可能是一个挑战。

于 2013-06-19T18:05:04.660 回答