使用xslt合并表中的两个单元格

时间:2015-11-06 09:32:58

标签: xml xslt html-table

我想要使用xslt在表中显示XML文件,我想在两个节点具有相同值时使用colspan合并单元格,例如:

<Magasin>
    <bouteille>
        <marque>marque1</marque>       
    </bouteille>
    <bouteille>
        <marque>marque1</marque>
    </bouteille>
    <bouteille>
        <marque>marque2</marque>
    </bouteille>
</Magasin>

这是我的xslt:

<table>
<thead>
<tr><xsl:for-each select="document('Pub.xml')/Magasin/bouteille/marque">
<th><xsl:value-of select="."/></th>
</xsl:for-each></tr>
</thead>                            
</table>

1 个答案:

答案 0 :(得分:0)

在XSLT 2.0中,您可以执行以下操作:

<xsl:for-each-group select="document('Pub.xml')/Magasin/bouteille" group-adjacent="marque"> 
    <xsl:variable name="size" select="count(current-group())" />
    <th>
        <xsl:if test="$size gt 1">
            <xsl:attribute name="colspan" select="$size"/>
        </xsl:if>
        <xsl:value-of select="current-grouping-key()"/>
    </th>
</xsl:for-each-group>