私はOSM
7.2.0.3 を使用しOrder Recognition Rule
ており、Order Data Rule
([変換] タブ内に)が付いたカートリッジがあります。
ODR には、次の XQuery コードがあります。
declare namespace im="http://xxx";
declare namespace xs="http://www.w3.org/2001/XMLSchema";
declare variable $ord := fn:root(.)/im:Order;
<_root>
<Order>
{
for $moli in $ord/MainOrderLineItem
return
$moli/LineItemAttributeInfo/LineItemAttribute
}
</Order>
</_root>
OSM への XML 入力は次のとおりです。
<ord:CreateOrder
xmlns:ord="http://xmlns.oracle.com/communications/ordermanagement">
<im:Order xmlns:im="http://xxx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.oracle.com/communications/sce/dictionary/BaseOrderCommonCartridge/DataDictionary_BaseOrderCommon ../dataDictionary/DataDictionary_BaseOrderCommon.xsd">
<OrderHeader>
<OrderID>12345</OrderID>
<RevisionNumber>1</RevisionNumber>
</OrderHeader>
<MainOrderLineItem>
<LineItemAttributeInfo>
<LineItemAttribute>
<AttributeID>1234</AttributeID>
</LineItemAttribute>
</LineItemAttributeInfo>
</MainOrderLineItem>
<MainOrderLineItem>
<LineItemAttributeInfo>
<LineItemAttribute>
<AttributeID>5678</AttributeID>
</LineItemAttribute>
</LineItemAttributeInfo>
</MainOrderLineItem>
<MainOrderLineItem>
<LineItemAttributeInfo>
<LineItemAttribute>
<AttributeID>abcd</AttributeID>
</LineItemAttribute>
</LineItemAttributeInfo>
</MainOrderLineItem>
</im:Order>
</ord:CreateOrder>
は 3 回出現<MainOrderLineItem>
しますが、出力は 1 つだけです。
<LineItemAttribute xmlns:im="http://xxx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AttributeID>1234</AttributeID>
</LineItemAttributeInfo>
なぜループしないのですか?
返信ありがとうございます。