我只是举了一个例子来说明我要问你的问题:
=>是否可以创建一个变量,将数据放入其中,并以操作路径的方式操作该变量的返回??
下面的代码,
let $variable :=(for $pou in blabla/blabla
return (element thing {attribute status {data($pou/name)},
let $thing2 := for $z in $pou/bacon[@status="c"]
return element thing3 {data($z/code)} return($thing2) })) return()会做这样的事情
<thing>
<thing2><thing3></thing3>
</thing2>
</thing>可以访问先前用"$variable/thing2“创建的结构中的标记吗?
let $variable :=(for $pou in adress/blablalba/adresse/blabla/blabla
return (element thing {attribute status {data($pou/name)},
let $thing2 := for $z in $pou/bacon[@status="c"]
return element thing3 {data($z/code)} return($thing2) })) return($variable/thing2)在我的实际项目中,我创建了多个变量,这些变量在启动时正确显示,但是当我尝试访问/引用它们时,我开始相信,就像您不能以同样的方式访问变量中的内容一样?但我有点卡住了!
我希望你能理解我的问题,因为我承认这是非常糟糕的解释
干杯
发布于 2013-11-29 18:52:55
是的,你可以做你想做的事。您所犯的错误并不是因为您想要做的事情是不可能的,而是因为您的路径表达式不正确。
要演示XPath表达式可以成功地在查询中构造其值的变量中导航,请考虑以下查询:
let $variable := <a><b>10</b><b>20</b><b>30</b></a>
return $variable/b[number(.) lt 25]这将在b元素的子元素(即$variable的值)中返回前两个$variable元素。
在您的示例中,您将$variable绑定到一个thing元素序列,每个元素都包含一个thing3元素序列。然后,您将寻求检索一个不可能存在的thing2元素(查询中字符串thing2的唯一出现是作为变量的名称)。
https://stackoverflow.com/questions/20274956
复制相似问题