Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XML到XML表@rowspan转换使用XSLT_Xml_Xslt_Xslt 2.0 - Fatal编程技术网

XML到XML表@rowspan转换使用XSLT

XML到XML表@rowspan转换使用XSLT,xml,xslt,xslt-2.0,Xml,Xslt,Xslt 2.0,我有一个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>

我有一个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>

0
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
应将其转换为:

    <?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>

0
1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
当存在任何
@rowspan
元素时,需要将其转换为类似于
的内容,在转换后的XML中的相应位置

这可以使用XSLT2实现吗


注意:如果
td[@rowspan>1]
则,
应放在下一行对应的
td
(或连续行)上。例如:
/table/tr[1]/td[2]
@rowspan=3
,那么
应该放在
/table/tr[2]/td[1]
/table/tr[3]/td[1]
之后。在第一行-第四、第七、第八和第十列(
td
)中有
@rowspan=2
,因此在第二行(
/table/tr[2]
)中放置了

我可能智商较低,但查看源和目标XML文件时,我无法找到相关性。你能再详细一点吗?虽然所有
元素都有
行span
属性,但您随机插入了
元素。@Madeyedexter:很抱歉,这是一个错误。现在更正。请检查这是否合理?您添加了
,但您确切希望何时添加它?每个
元素都有一个
行span
属性,因此根据您的问题,每个
元素都必须有一个相应的
@Madeyedexter:我在问题的末尾添加了一个注释。这样可以吗?看看这是否有帮助:我的智商可能很低,但查看源XML文件和目标XML文件,我无法找到相关性。你能再详细一点吗?虽然所有
元素都有
行span
属性,但您随机插入了
元素。@Madeyedexter:很抱歉,这是一个错误。现在更正。请检查这是否合理?您添加了
,但您确切希望何时添加它?每个
元素都有一个
行span
属性,因此根据您的问题,每个
元素都必须有一个相应的
@Madeyedexter:我在问题的末尾添加了一个注释。可以吗?看看这是否有帮助: