My XML looks like -
<?xml version='1.0' encoding='UTF-8'?>
<root>
<row>
<col1>Plan ID</col1>
<col2>472064672</col2>
<col3>18007</col3>
<col4>1</col4>
<col5>MARGARET</col5>
<col6>PRESLEY</col6>
<col7>20161216</col7>
<col8/>
<col9/>
<col10>Pre-Tax </col10>
<col11/>
<col12>750</col12>
<col13/>
<col14/>
<col15/>
<col16/>
<col17/>
<col18/>
<col19/>
<col20/>
<col21/>
<col22/>
<col23/>
<col24/>
<col25/>
<col26/>
<col27/>
<col28> </col28>
<col29/>
<col30>20180501</col30>
<col31>2</col31>
<col32/>
<col33/>
<col34/>
</row>
<row>
<col1>Plan ID</col1>
<col2>472064672</col2>
<col3>18007</col3>
<col4>1</col4>
<col5>MARGARET</col5>
<col6>PRESLEY</col6>
<col7>20161216</col7>
<col8/>
<col9/>
<col10>Pre-Tax Defrl%</col10>
<col11>0</col11>
<col12/>
<col13/>
<col14/>
<col15/>
<col16/>
<col17/>
<col18/>
<col19/>
<col20/>
<col21/>
<col22/>
<col23/>
<col24/>
<col25/>
<col26/>
<col27/>
<col28> </col28>
<col29/>
<col30>20180501</col30>
<col31>2</col31>
<col32/>
<col33/>
<col34/>
</row>
<row>
<col1>Plan ID</col1>
<col2>214196103</col2>
<col3/>
<col4>1</col4>
<col5>PETER</col5>
<col6>JOHNSON</col6>
<col7/>
<col8/>
<col9/>
<col10>Pre-Tax </col10>
<col11/>
<col12>0</col12>
<col13/>
<col14/>
<col15/>
<col16/>
<col17/>
<col18/>
<col19/>
<col20/>
<col21/>
<col22/>
<col23/>
<col24/>
<col25/>
<col26/>
<col27/>
<col28> </col28>
<col29/>
<col30>20180502</col30>
<col31>2</col31>
<col32/>
<col33/>
<col34/>
</row>
<row>
<col1>Plan ID</col1>
<col2>214196103</col2>
<col3/>
<col4>1</col4>
<col5>PETER</col5>
<col6>JOHNSON</col6>
<col7/>
<col8/>
<col9/>
<col10>Pre-Tax Defrl%</col10>
<col11>16.29</col11>
<col12/>
<col13/>
<col14/>
<col15/>
<col16/>
<col17/>
<col18/>
<col19/>
<col20/>
<col21/>
<col22/>
<col23/>
<col24/>
<col25/>
<col26/>
<col27/>
<col28> </col28>
<col29/>
<col30>20180502</col30>
<col31>2</col31>
<col32/>
<col33/>
<col34/>
</row>
</root>
I want to sort this XML such that for each group of col2 value, the xml should be sorted such that if col11 has 0 value and col12 is blank, then the row which has col11 or col12 as 0 comes first and then the ones with a non zero value in col11 or col12.
So my output will look like -
<root>
<row>
<col1>666919</col1>
<col2>214196103</col2>
<col3/>
<col4>1</col4>
<col5>PETER</col5>
<col6>JOHNSON</col6>
<col7/>
<col8/>
<col9/>
<col10>Pre-Tax </col10>
<col11/>
<col12>0</col12>
<col13/>
<col14/>
<col15/>
<col16/>
<col17/>
<col18/>
<col19/>
<col20/>
<col21/>
<col22/>
<col23/>
<col24/>
<col25/>
<col26/>
<col27/>
<col28> </col28>
<col29/>
<col30>20180502</col30>
<col31>2</col31>
<col32/>
<col33/>
<col34/>
</row>
<row>
<col1>666919</col1>
<col2>214196103</col2>
<col3/>
<col4>1</col4>
<col5>PETER</col5>
<col6>JOHNSON</col6>
<col7/>
<col8/>
<col9/>
<col10>Pre-Tax Defrl%</col10>
<col11>16.29</col11>
<col12/>
<col13/>
<col14/>
<col15/>
<col16/>
<col17/>
<col18/>
<col19/>
<col20/>
<col21/>
<col22/>
<col23/>
<col24/>
<col25/>
<col26/>
<col27/>
<col28> </col28>
<col29/>
<col30>20180502</col30>
<col31>2</col31>
<col32/>
<col33/>
<col34/>
</row>
<row>
<col1>666919</col1>
<col2>472064672</col2>
<col3>18007</col3>
<col4>1</col4>
<col5>MARGARET</col5>
<col6>PRESLEY</col6>
<col7>20161216</col7>
<col8/>
<col9/>
<col10>Pre-Tax Defrl%</col10>
<col11>0</col11>
<col12/>
<col13/>
<col14/>
<col15/>
<col16/>
<col17/>
<col18/>
<col19/>
<col20/>
<col21/>
<col22/>
<col23/>
<col24/>
<col25/>
<col26/>
<col27/>
<col28> </col28>
<col29/>
<col30>20180501</col30>
<col31>2</col31>
<col32/>
<col33/>
<col34/>
</row>
<row>
<col1>666919</col1>
<col2>472064672</col2>
<col3>18007</col3>
<col4>1</col4>
<col5>MARGARET</col5>
<col6>PRESLEY</col6>
<col7>20161216</col7>
<col8/>
<col9/>
<col10>Pre-Tax </col10>
<col11/>
<col12>750</col12>
<col13/>
<col14/>
<col15/>
<col16/>
<col17/>
<col18/>
<col19/>
<col20/>
<col21/>
<col22/>
<col23/>
<col24/>
<col25/>
<col26/>
<col27/>
<col28> </col28>
<col29/>
<col30>20180501</col30>
<col31>2</col31>
<col32/>
<col33/>
<col34/>
</row>
</root>