使用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