gpt4 book ai didi

xslt - 将大表拆分为几个小表

转载 作者:行者123 更新时间:2023-12-04 18:24:19 25 4
gpt4 key购买 nike

我有一个表有100行的问题。这会引起问题,需要将其拆分为几个较小的表,每个表具有更少的行。

我的html也是有效的xml。

如何将每x行的表拆分为一个新表?

而且,如何将表格样式和第一行(标题)复制到每个后续表格中。

所以这样的事情

<table class="..." style="...">
<tr>
<td>head 1</td>
<td>head 2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>
<table>

成为
<table class="..." style="...">
<tr>
<td>head 1</td>
<td>head 2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>
</table>

<table class="..." style="...">
<tr>
<td>head 1</td>
<td>head 2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>
</table>

<table class="..." style="...">
<tr>
<td>head 1</td>
<td>head 2</td>
</tr>

<tr>
<td>col1</td>
<td>col2</td>
</tr>

</table>

<table class="..." style="...">
<tr>
<td>head 1</td>
<td>head 2</td>
</tr>
<tr>
<td>col1</td>
<td>col2</td>
</tr>
<table>

最佳答案

这是用于此类问题的经典XSLT 1.0解决方案:

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>

<xsl:param name="prowLimit" select="12"/>

<xsl:variable name="vTable" select="/*"/>

<xsl:template match="node()|@*" name="identity">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>

<xsl:template match="tr">
<xsl:if test="position() mod $prowLimit = 1">
<table>
<xsl:copy-of select="$vTable/@*"/>
<xsl:copy-of select=
". | following-sibling::tr[not(position() > $prowLimit -1)]"/>
</table>
</xsl:if>
</xsl:template>
</xsl:stylesheet>

关于xslt - 将大表拆分为几个小表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3739105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com