XSLT:在html标记内添加文本

Edd*_*dyR 2 xslt

是否可以将xsl变量中的文本添加到html标记内部?

<xsl:variable name="selected">
   <xsl:if test="@class = 'selected'"> class="selected"</xsl:if>
</xsl:variable>

<li{$selected}></li>
Run Code Online (Sandbox Code Playgroud)

Tim*_*ker 5

您不应该尝试将其写为文字文本,而是查看xsl:element和xsl:attribute.粗略的例子:

<xsl:element name="li">
    <xsl:attribute name="class">
        <xsl:value-of select="$selected" />
    </xsl:attribute>
</xsl:element>
Run Code Online (Sandbox Code Playgroud)

完整文档在这里.


Eri*_*ric 5

试试这个:

<xsl:element name="li">
    <xsl:if test="@class = 'selected'">
        <xsl:attribute name="class">
            selected
        </xsl:attribute>
    </xsl:if>
</xsl:element>
Run Code Online (Sandbox Code Playgroud)

可选地,xsl:if如果需要,可以嵌套在xsl:attribute,而不是相反class="".如前所述,将其写为文字文本是不明智的.