<Root>
<DetailsTable>
<row data="1"/>
<row data="2"/>
<row data="3"/>
<row data="4"/>
<row data="5"/>
<row data="6"/>
<row data="7"/>
<row data="8"/>
<row data="9"/>
<row data="10"/>
<row data="11"/>
<row data="12"/>
<row data="13"/>
<row data="14"/>
</DetailsTable>
<SummaryTable>
<row data="A"/>
<row data="B"/>
<row data="C"/>
</SummaryTable>
</Root>
所需的输出应该在Excel工作表中分为两个单独的“表”,其中一个在另一个中间,如屏幕截图所示:
问题是,在XSLT转换中,我需要一行一行地打印行,所有单元格都必须在打印行时打印-因此,对于某些行(例如索引4、5、6、7),我需要添加一些特殊单元格,从
SummaryTable
XML元素。
换句话说,输出XML格式类似于:
<Table>
<Row>
<Cell><Data >DetailsTable</Data></Cell>
</Row>
<Row>
<Cell><Data >1</Data></Cell>
</Row>
<Row>
<Cell><Data >2</Data></Cell>
</Row>
<Row>
<Cell><Data >3</Data></Cell>
<Cell><Data >SummaryTable</Data></Cell>
</Row>
<Row>
<Cell><Data >4</Data></Cell>
<Cell><Data >A</Data></Cell>
</Row>
<Row>
<Cell><Data >5</Data></Cell>
<Cell><Data >B</Data></Cell>
</Row>
<Row>
<Cell><Data >6</Data></Cell>
<Cell><Data >C</Data></Cell>
</Row>
<Row>
<Cell><Data >7</Data></Cell>
</Row>
<Row>
<Cell><Data >8</Data></Cell>
</Row>
<Row>
</Table>
position()
for-each
永远不会迭代到索引4、5、6、7,因此不会打印我的摘要表-这种情况下的预期输出应该是:
为每个人
在上再次循环
DetailsTable/row
元素,但跳过前7个指数位置,但这似乎是一个令人讨厌的解决办法。
还有其他想法吗?