html - XSL 中空白的奇怪 CSS 问题

标签 html css xml xslt

所以我尝试将 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 != ''">&#160l<xsl:value-of select="$additionalClass"/></xsl:if>
</xsl:variable>

它会给我,例如:

myClass extraClass

然而,在 HTML 中检查它,它实际上是:

myClass&nbsp;extraClass

因此,css 从未启动。如果我删除   并在其中放置一个实际空间,那么该类将按预期工作。

我尝试将 XSL 调整为(仅使用常规空格):

<xsl:if test="$additionalClass != ''"> <xsl:value-of select="$additionalClass"/></xsl:if>

但这只会给我:

myClassextraClass

如何在我的字符串中添加一个普通空格?哈哈

最佳答案

您可以用 xml:text 填充额外的空间,如下所示:

  <xsl:if test="$additionalClass != ''">
     <xsl:text> </xsl:text><xsl:value-of select="$additionalClass"/>
  </xsl:if>

(显然你不希望   直接出现在 class='xy' html 中)

你也可以使用像concat这样的函数:

<xsl:value-of select="concat(' ', $additionalClass)"/>

关于html - XSL 中空白的奇怪 CSS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23246675/

相关文章:

javascript - 如何根据点击获取对应对象的值

Javascript:var 为空

html - 如何添加位于 Bootstrap 轮播顶部的封面图片?

javascript - 如何使用 JQuery 的 parseXML 将转义字符串解析为 XML 对象?

java - 我最近将我的项目转换为 Maven。但出现错误Resource read error : Could not load com/sun/xml/txw2/Content. class

html - 请解释奇怪的 HTML 表格 rowspan 行为

html - 如何从html中的标题标签中删除填充?

浏览器之间的 CSS 问题

php - Bootstrap 响应在 html 邮件正文中不起作用

c# - 如何在 C# 中将 web.config 部分读取为 XML?