作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个表有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/
我是一名优秀的程序员,十分优秀!