在 xslt 中应用分组时,如果值只有一个组,则需要传递该值

Needs to pass the value based if the value has only one group when grouping is applied in xslt

提问人:SYennawar 提问时间:11/7/2023 更新时间:11/7/2023 访问量:62

问:

你能帮我如何使用XSLT存档以下逻辑吗?

在下面的 goodsHolders 段中,我们有不同的 goodsHolderItems,它们有 2 个不同的交货单号,因此在这种情况下,无需添加净重和毛重

在 2 个输入有效载荷的情况下,goodsHolderItems 中有具有相同 deliverynotenumber 的 goodsHolders 段,因此在这种情况下,我们需要将净重和毛重相加

输入: `

<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
    <multimap:Message1>
        <VM/>
    </multimap:Message1>
    <multimap:Message2>
        <root>
            <event/>
            <notification>
                <goodsHolders>
                    <goodsHolderMeasures>
                        <netWeight>
                            <measureValue>6.45</measureValue>
                            <measureUOM>KG</measureUOM>
                        </netWeight>
                        <grossWeight>
                            <measureValue>6.45</measureValue>
                            <measureUOM>KG</measureUOM>
                        </grossWeight>
                    </goodsHolderMeasures>
                    <goodsHolderItems>
                        <deliveryNoteNumber>123</deliveryNoteNumber>
                    </goodsHolderItems>
                    <goodsHolderItems>
                        <deliveryNoteNumber>123</deliveryNoteNumber>
                    </goodsHolderItems>
                    <goodsHolderItems>
                        <deliveryNoteNumber>456</deliveryNoteNumber>
                    </goodsHolderItems>
                    <goodsHolderItems>
                        <deliveryNoteNumber>456</deliveryNoteNumber>
                    </goodsHolderItems>
                </goodsHolders>
            </notification>
        </root>
    </multimap:Message2>
</multimap:Messages>

输出:

<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
    <multimap:Message1>
        <VM/>
    </multimap:Message1>
    <multimap:Message2>
        <root>
            <event/>
            <notification>
                <goodsHolders>
                    <goodsHolderMeasures>
                        
                    </goodsHolderMeasures>
                    <goodsHolderItems>
                        <deliveryNoteNumber>123</deliveryNoteNumber>
                    </goodsHolderItems>
                    <goodsHolderItems>
                        <deliveryNoteNumber>123</deliveryNoteNumber>
                    </goodsHolderItems>
                    <goodsHolderItems>
                        <deliveryNoteNumber>456</deliveryNoteNumber>
                    </goodsHolderItems>
                    <goodsHolderItems>
                        <deliveryNoteNumber>456</deliveryNoteNumber>
                    </goodsHolderItems>
                </goodsHolders>
            </notification>
        </root>
    </multimap:Message2>
</multimap:Messages>

案例二: 输入:

<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
    <multimap:Message1>
        <VM/>
    </multimap:Message1>
    <multimap:Message2>
        <root>
            <event/>
            <notification>
                <goodsHolders>
                    <goodsHolderMeasures>
                        <netWeight>
                            <measureValue>6.45</measureValue>
                            <measureUOM>KG</measureUOM>
                        </netWeight>
                        <grossWeight>
                            <measureValue>6.45</measureValue>
                            <measureUOM>KG</measureUOM>
                        </grossWeight>
                    </goodsHolderMeasures>
                    <goodsHolderItems>
                        <deliveryNoteNumber>123</deliveryNoteNumber>
                        
                    </goodsHolderItems>
                </goodsHolders>
                <goodsHolders>
                    <goodsHolderMeasures>
                        <netWeight>
                            <measureValue>6.45</measureValue>
                            <measureUOM>KG</measureUOM>
                        </netWeight>
                        <grossWeight>
                            <measureValue>6.45</measureValue>
                            <measureUOM>KG</measureUOM>
                        </grossWeight>
                    </goodsHolderMeasures>
                    <goodsHolderItems>
                        <deliveryNoteNumber>123</deliveryNoteNumber>
                    
                    </goodsHolderItems>
                </goodsHolders>
            </notification>
        </root>
    </multimap:Message2>
</multimap:Messages>

输出:

<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
    <multimap:Message1>
        <VM/>
    </multimap:Message1>
    <multimap:Message2>
        <root>
            <event/>
            <notification>
                <goodsHolders>
                    <goodsHolderMeasures>
                        <netWeight>
                            <measureValue>12.9</measureValue>
                            <measureUOM>KG</measureUOM>
                        </netWeight>
                        <grossWeight>
                            <measureValue>12.9</measureValue>
                            <measureUOM>KG</measureUOM>
                        </grossWeight>
                    </goodsHolderMeasures>
                    <goodsHolderItems>
                        <deliveryNoteNumber>123</deliveryNoteNumber>
                        
                    </goodsHolderItems>
                </goodsHolders>
        
            </notification>
        </root>
    </multimap:Message2>
</multimap:Messages>
xslt-3.0 xslt 分组

评论

0赞 MrD at KookerellaLtd 11/9/2023
我觉得问题太复杂了,最好写2个或更多简单的问题,并举个简单的例子。

答: 暂无答案