I am having an XML:
<?xml version="1.0" encoding="UTF-8"?>
<table>
<tr>
<td rowspan="1">0</td>
<td rowspan="3">1</td>
<td rowspan="1">2</td>
<td rowspan="2">3</td>
<td rowspan="1">4</td>
<td rowspan="1">5</td>
<td rowspan="2">6</td>
<td rowspan="2">7</td>
<td rowspan="1">8</td>
<td rowspan="2">9</td>
</tr>
<tr>
<td rowspan="1">10</td>
<td rowspan="1">11</td>
<td rowspan="1">12</td>
<td rowspan="1">13</td>
<td rowspan="1">14</td>
</tr>
<tr>
<td rowspan="1">15</td>
<td rowspan="1">16</td>
<td rowspan="1">17</td>
<td rowspan="1">18</td>
<td rowspan="1">19</td>
<td rowspan="1">20</td>
<td rowspan="1">21</td>
<td rowspan="1">22</td>
<td rowspan="1">23</td>
</tr>
</table>
Which should be converted to:
<?xml version="1.0" encoding="UTF-8"?>
<table>
<tr>
<td rowspan="1">0</td>
<td rowspan="3">1</td>
<td rowspan="1">2</td>
<td rowspan="2">3</td>
<td rowspan="1">4</td>
<td rowspan="1">5</td>
<td rowspan="2">6</td>
<td rowspan="2">7</td>
<td rowspan="1">8</td>
<td rowspan="2">9</td>
</tr>
<tr>
<td rowspan="1">10</td>
<row-span-anchor/>
<td rowspan="1">11</td>
<row-span-anchor/>
<td rowspan="1">12</td>
<td rowspan="1">13</td>
<row-span-anchor/>
<row-span-anchor/>
<td rowspan="1">14</td>
<row-span-anchor/>
</tr>
<tr>
<td rowspan="1">15</td>
<row-span-anchor/>
<td rowspan="1">16</td>
<td rowspan="1">17</td>
<td rowspan="1">18</td>
<td rowspan="1">19</td>
<td rowspan="1">20</td>
<td rowspan="1">21</td>
<td rowspan="1">22</td>
<td rowspan="1">23</td>
</tr>
</table>
The requirement is when there is any @rowspan
element, that should convert as something like <row-span-anchor/>
in the corresponding place in the converted XML.
Can this be achieved using XSLT2?
Note: if td[@rowspan > 1]
then, <row-span-anchor/>
should be placed on next row's corresponding td
(or successive rows). For example: /table/tr[1]/td[2]
have @rowspan=3
, then <row-span-anchor/>
should be placed after /table/tr[2]/td[1]
and /table/tr[3]/td[1]
. In first row -fourth, seventh, eighth and tenth column (td
) have @rowspan=2
, hence in second row (/table/tr[2]
) <row-span-anchor/>
is placed.