使用XSLT我试图找出一个办法只能发出HTML表行,当值来自于该换每次最后一次迭代不同,上一次迭代不同循环。基本上,我想让表格看起来具有分组标题,只需在标题更改后写出它。我有一点麻烦只能发出一些HTML当一个变量在XSLT
概念上工作了我怎么能做到这一点考虑一旦它被定义,你不能改变一个变量的值。
<xsl:for-each select="//databaseConstraint/constraint">
<xsl:variable name="caption" select="@caption" />
<tr>
<th colspan="2"><xsl:value-of select="$caption" /></th>
</tr>
...
</xsl:for-each >
更新我下面试过,但我得到一个错误:NodeTest这里
<xsl:for-each select="//databaseConstraint/constraint">
<xsl:variable name="caption" select="@caption" />
<xsl:if test="not(@caption = preceding-sibling::@caption)">
<tr>
<th colspan="2">
<xsl:value-of select="$caption" />
</th>
</tr>
</xsl:if>
...
</xsl:for-each >
看到我的答案比简单一个简单的解决方案,这应该很好用于大多数用途。 – LarsH 2010-10-26 11:06:13
你写道:*你介意告诉我该怎么做*。如果您发布减少输入样本,也许有人可以告诉你如何在“XSLT样式”(模式匹配和分组)中执行此操作。 – 2010-10-26 12:35:53
好问题,+1。查看我的答案,了解适用于任何文档结构的完整解决方案,并提供详细解释。 – 2010-10-26 13:05:38