最近在一個項目中用到了XSLT,目的是將返回的XML數據記錄通過XSL轉換為HTML,在for-each的循環中取得當前記錄的位置,通過實踐,找到了解決的辦法,主要是使用xsl的position函數
1 <xsl:for-each select="QRoleInline-list/QRoleInline">
2 <xsl:if test="not(position() = 1)"><xsl:text>,</xsl:text></xsl:if><xsl:value-of select="@roleName"/>
3 </xsl:for-each>
使用position函數可以取得當前行在循環中的位置,從1開始。上述代碼是判斷如果位置為第一個, 則需要加逗號。
還有一個函數current()是負責取到當前節點對象的。