所以我试着将css类名称连在一起,这里是我的XSL片段:
<xsl:variable name="btnClass">
<xsl:choose>
<xsl:when test="$type = 'hello'">myClass</xsl:when>
<xsl:when test="$type = 'world'">myOtherClass</xsl:when>
<xsl:otherwise>stuff</xsl:otherwise>
</xsl:choose>
<xsl:if test="$additionalClass != ''"> l<xsl:value-of select="$additionalClass"/></xsl:if>
</xsl:variable>
它会给我,例如:
myClass extraClass
但是,在HTML中检查它实际上是:
myClass extraClass
由于这个原因,css从未踢过。如果我删除了
并在其中放置了一个实际的空格,那么该类将按预期工作。
我尝试将我的XSL调整为(仅使用常规空间):
<xsl:if test="$additionalClass != ''"> <xsl:value-of select="$additionalClass"/></xsl:if>
但这只会给我:
myClassextraClass
如何在字符串中添加普通空格?洛尔
答案 0 :(得分:1)
您可以使用xml:text
填充额外的空格,如下所示:
<xsl:if test="$additionalClass != ''">
<xsl:text> </xsl:text><xsl:value-of select="$additionalClass"/>
</xsl:if>
(显然你不希望
直接出现在class='x y'
html中
您还可以使用concat
之类的函数:
<xsl:value-of select="concat(' ', $additionalClass)"/>