tập tin XML của tôi là như sau:Gán CSS class cho phần tử trong một XSL
<worksheet>
<row>
<rowTitle>RT1</rowTitle>
<rowType>yesorno</rowType>
<subLine>subLine1Content</subLine>
<subLine>subLine2Content</subLine>
</row>
<row>
<rowTitle>RT2</rowTitle>
<rowType>operation</rowType>
<subLine>subLine1Content</subLine>
<subLine>subLine2Content</subLine>
<subLine>subLine3Content</subLine>
</row>
.
.
</worksheet>
trong xsl của tôi, trong khi hiển thị nội dung của một hàng cụ thể, tôi muốn thêm một lớp học để các yếu tố html mà sẽ chỉ định loại hàng của nó. Tôi đã thử sử dụng xsl: chọn và gán giá trị cho biến xsl: nhưng điều đó không hoạt động. Tôi đang cố gắng để hiển thị các hàng như
<ol>
<li class="rowTypeBoolean">
RT1
<ul><li>subLineContent1</li>
<li>subLineContent2</li></ul>
</li>
<li class="rowTypeOptions">
RT2
<ul><li>subLineContent1</li>
<li>subLineContent2</li>
<li>subLineContent3</li></ul>
</li>
.
.
</ol>
đoạn tập tin XSL
<xsl:template match="row">
<li class="rowClass ${className}">
<xsl:choose>
<xsl:when test="type = 'YESORNO'">
<xsl:variable name="className" select="rowTypeBoolean"/>
</xsl:when>
<xsl:when test="type = 'OPTIONS'">
<xsl:variable name="className" select="rowTypeOptions"/>
</xsl:when>
<xsl:when test="type = 'OPERATION'">
<xsl:variable name="className" select="rowTypeOperation"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="className" select="rowTypeOther"/>
</xsl:otherwise>
</xsl:choose>
<span class="rowTitleClass">
<xsl:value-of select="rowtitle"/>
</span>
<br/>
<ul class="subLineListClass">
<xsl:apply-templates select="subLine"/>
</ul>
</li>
</xsl:template>
Bạn đã đăng XML và kết quả mong muốn của mình. Bạn có thể đăng XSL bạn đang gặp sự cố không? – Oded
Câu hỏi hay (+1). Xem câu trả lời của tôi cho một giải pháp hoàn chỉnh đơn giản và tránh việc viết mã không cần thiết về logic quyết định. –