XQuery嵌套循环错误
我使用的是XQuery嵌套循环错误,xquery,oracle-osm,Xquery,Oracle Osm,我使用的是OSM7.2.0.3,我有一个带有订单识别规则的盒式磁带,带有订单数据规则(在转换选项卡内) 在ODR中,我有以下XQuery代码: declare namespace im="http://xxx"; declare namespace xs="http://www.w3.org/2001/XMLSchema"; declare variable $order := fn:root(.)/im:Order; <_root> <Order> {
OSM
7.2.0.3,我有一个带有订单识别规则的盒式磁带,带有订单数据规则(在转换选项卡内)
在ODR中,我有以下XQuery代码:
declare namespace im="http://xxx";
declare namespace xs="http://www.w3.org/2001/XMLSchema";
declare variable $order := fn:root(.)/im:Order;
<_root>
<Order>
{
for $moli in $order/MainOrderLineItem
return {
<OrderLineItem>
{$moli/LineItemAttributeInfo/LineItemAttribute}
</OrderLineItem>
{
for $oli in $moli/OrderLineItem
return
<OrderLineItem>
{$oli/LineItemAttributeInfo/LineItemAttribute}
</OrderLineItem>
}
}
}
</Order>
</_root>
我通过Web服务提交XML来运行OSM
非常感谢您的回复 return
ed XML实际上应该放在括号中,而不是大括号中。第一个返回的OrderLineItem
元素和FLWOR表达式之间还需要有逗号,而不是用大括号括起来:
declare namespace im="http://xxx";
declare namespace xs="http://www.w3.org/2001/XMLSchema";
declare variable $order := fn:root(.)/im:Order;
<_root>
<Order>{
for $moli in $order/MainOrderLineItem
return (
<OrderLineItem>
{$moli/LineItemAttributeInfo/LineItemAttribute}
</OrderLineItem>,
for $oli in $moli/OrderLineItem
return
<OrderLineItem>
{$oli/LineItemAttributeInfo/LineItemAttribute}
</OrderLineItem>
)
}</Order>
</_root>
声明命名空间im=”http://xxx";
声明命名空间xs=”http://www.w3.org/2001/XMLSchema";
声明变量$order:=fn:root(.)/im:order;
{
对于$order/MainOrderLineItem中的$moli
返回(
{$moli/LineItemAttributeInfo/LineItemAttribute}
,
对于$moli/OrderLineItem中的$oli
返回
{$oli/LineItemAttributeInfo/LineItemAttribute}
)
}
declare namespace im="http://xxx";
declare namespace xs="http://www.w3.org/2001/XMLSchema";
declare variable $order := fn:root(.)/im:Order;
<_root>
<Order>{
for $moli in $order/MainOrderLineItem
return (
<OrderLineItem>
{$moli/LineItemAttributeInfo/LineItemAttribute}
</OrderLineItem>,
for $oli in $moli/OrderLineItem
return
<OrderLineItem>
{$oli/LineItemAttributeInfo/LineItemAttribute}
</OrderLineItem>
)
}</Order>
</_root>