See the XML code of a table below. My task is to add an attribute (MOREROWS) to every ENTRY element which has one or more consecutive following rows with the text "##rowspan##" in the ENTRY element with the same COLNAME value.
The MOREROWS attribute should contain the number of following consecutive rows satisfying the desired condition.
I've been experimenting with for-each-group, for-each and count, but haven't managed to find a solution yet. My main problem is to ignore the gaps. After all I want to count only the consecutive following rows satisfying the condition, and not all the following rows satisfying the condition.
Ideally I would want to use count as that seems like the logical choice here since I don't need to apply templates but rather just want a number.
Any help will be appreciated.
Current table:
<TABLE>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>42</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2">
<CONTENT>155</CONTENT>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4">
<CONTENT>148</CONTENT>
</ENTRY>
</ROW>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>147</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
</ROW>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>147</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4">
<CONTENT>300</CONTENT>
</ENTRY>
</ROW>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>1814</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4">
<CONTENT>1905</CONTENT>
</ENTRY>
</ROW>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>147</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
</ROW>
</TABLE>
Desired result:
<TABLE>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>42</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2"** MOREROWS="2"**>
<CONTENT>155</CONTENT>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4"** MOREROWS="1"**>
<CONTENT>148</CONTENT>
</ENTRY>
</ROW>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>147</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
</ROW>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>147</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4">
<CONTENT>300</CONTENT>
</ENTRY>
</ROW>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>1814</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2"** MOREROWS="1"**>
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4"** MOREROWS="1"**>
<CONTENT>1905</CONTENT>
</ENTRY>
</ROW>
<ROW>
<ENTRY COLNUM="1" COLNAME="col1">
<CONTENT>147</CONTENT>
</ENTRY>
<ENTRY COLNUM="2" COLNAME="col2">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
<ENTRY COLNUM="3" COLNAME="col3">
<CONTENT/>
</ENTRY>
<ENTRY COLNUM="4" COLNAME="col4">
<CONTENT>##rowspan##</CONTENT>
</ENTRY>
</ROW>
</TABLE>