我在以下XSLT代碼中遇到問題。XSLT:帶有嵌套IF子句的foreach,如何獲得「第一個TRUE結果」?
Foreach
循環產生14個記錄,並且將它們的4通過
<xsl:if test="esperto = 'F'">
子句選擇。
<xsl:for-each select="../partite/risultatopartita">
<xsl:if test="esperto = 'F'">
<tr>
<xsl:if test="position()=1">
<td rowspan="4" class='centra'>Favorite</td>
</xsl:if>
<td class='centra'>
<xsl:value-of select="posizione"/>
</td>
<td class='centra'>
<xsl:value-of select="squadra1"/>
</td>
<td class='centra'>
<xsl:value-of select="squadra2"/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
我需要第一TD
(一用rowspan="4"
)將被印刷的僅第一次,但「第一次,如果子句爲真,不先的foreach迭代」。
Infact,<xsl:if test="position()=1">
得到第一次foreach迭代,但顯然可能的是,滿足<xsl:if test="esperto = 'F'">
的迭代不可能是第一個foreach。
如何解決?
期望中的HMTL代碼:
<table>
<tr>
<td rowspan="4" class='centra'>Favorite</td>
<td class="centra">2</td>
<td class="centra">fooText 1</td>
<td class="centra">foofooText 1</td>
</tr>
<tr>
<td class="centra">6</td>
<td class="centra">fooText 2</td>
<td class="centra">foofooText 2</td>
</tr>
<tr>
<td class="centra">10</td>
<td class="centra">fooText 3</td>
<td class="centra">foofooText 3</td>
</tr>
<tr>
<td class="centra">14</td>
<td class="centra">fooText 4</td>
<td class="centra">foofooText 4</td>
</tr>
</table>
你能告訴我們輸入XML和預期的輸出XML嗎? – 2014-11-01 15:19:17
對不起...我沒有這個...但我添加了所需的html輸出 – 2014-11-01 15:25:52
我對你爲什麼使用rowspan = 4感到困惑。你提前知道總會有4行? – JLRishe 2014-11-01 15:55:56