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>