Tôi đã một bảng html viết bằng chuyển đổi XSLT trông như thế nàyXSLT cách tạo kiểu có điều kiện chẵn/lẻ hàng
<table>
<xsl:for-each select="someNode">
<xsl:if test="testThis">
<tr>
<!-- <xsl:call-template name="conditionalRowStyle"/> -->
<td>something</td>
</tr>
</xsl:if>
<tr>
<!-- <xsl:call-template name="conditionalRowStyle"/> -->
<td>this is always displayed</td>
</tr>
<xsl:if test="testThis2">
<tr>
<!-- <xsl:call-template name="conditionalRowStyle"/> -->
<td>something 2</td>
</tr>
</xsl:if>
....
</xsl:for-each>
<tr>
<!-- <xsl:call-template name="conditionalRowStyle"/> -->
<td>this is always displayed</td>
</tr>
</table>
Tôi cần một cách để áp dụng các lớp học khác nhau oddRow/evenRow để tr elems.
<tr class="evenRow"> or <tr class="oddRow">
Tôi cố gắng để sử dụng một mẫu như thế này sau mỗi <tr> elem
<xsl:template name="conditionalRowStyle">
<xsl:attribute name="class">
<xsl:choose>
<xsl:when test="(count(../preceding-sibling::tr) mod 2) = 0">oddrow</xsl:when>
<xsl:otherwise>evenrow</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>
nhưng điều này không làm việc. bất kỳ ý tưởng nào?
Câu hỏi hay (+1). Xem câu trả lời của tôi cho một giải pháp XSLT 1.0 một lần :) –