我想要使用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>
答案 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>