我的
XML文件如下:
<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>
在我的xsl中,在显示特定行的内容时,我想在html元素中添加一个类,它将指定行的类型.我尝试使用xsl:选择并为xsl:变量赋值,但这不起作用.
我正在尝试将行显示为
<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>
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>
解决方法
您需要将其作为属性添加到元素:
<li> <xsl:choose> <xsl:when test="type = 'YESORNO'"> <xsl:attribute name="className">rowTypeBoolean</xsl:attribute> </xsl:when> <xsl:when test="type = 'OPTIONS'"> <xsl:attribute name="className">rowTypeOptions</xsl:attribute> </xsl:when> <xsl:when test="type = 'OPERATION'"> <xsl:attribute name="className">rowTypeOperation"</xsl:attribute> </xsl:when> <xsl:otherwise> <xsl:attribute name="className">rowTypeOther"</xsl:attribute> </xsl:otherwise> </xsl:choose> </li>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。