1

How to Group XML using DocEntry and LineNum?

Note: My application supports XSLT 1.0 version only. I have achieved till now using the (not preceding) so that the DocEntry is not repeated. But I'm facing problem in grouping (sub-grouping) further by using LineNum.

Desired output is:

<object>
                  <string name="DocEntry">6</string>
                  <string name="DocDate">2021-07-05</string>
                  <array name="transferLines">
                     <object>
                        <string name="LineNum">0</string>
                        <string name="ItemCode">C00001</string>
                        <string name="Quantity">5.000000</string>
                        <array name="SerialNumbers">
                        <object>
                        </object>
                        </array>
                     </object>
                     <object>
                        <string name="LineNum">1</string>
                        <string name="ItemCode">C00003</string>
                        <string name="Quantity">10.000000</string>
                        <array name="SerialNumbers">
                        <object>
                        </object>
                        </array>
                     </object>
                  </array>
               </object>
               <object>
                  <string name="DocEntry">155</string>
                  <string name="DocDate">2021-07-26</string>
                  <array name="transferLines">
                     <object>
                        <string name="LineNum">0</string>
                        <string name="ItemCode">C00003</string>
                        <string name="Quantity">3.000000</string>
                        <array name="SerialNumbers">
                        <object>
                        </object>
                        </array>
                     </object>
                     <object>
                        <string name="LineNum">1</string>
                        <string name="ItemCode">S10000</string>
                        <string name="Quantity">2.000000</string>
                        <array name="SerialNumbers">
                        <object>
                            <string name="SerialNumber">S1-000189</string>
                        </object>
                        <object>
                            <string name="SerialNumber">S1-000198</string>
                        </object>
                        </array>
                     </object>
                  </array>
               </object>

For complete XSLT, please check this link

  • 1
    For grouping in XSLT 1.0, you should be using the [Muenchian method](http://www.jenitennison.com/xslt/grouping/muenchian.html), not the inefficient 'not preceding' technique. For an example of sub-grouping see: https://stackoverflow.com/a/58525214/3016153 – michael.hor257k Jul 28 '21 at 21:38

0 Answers0