如何在xslt变量中存储2个空格

时间:2018-08-20 10:55:41

标签: xml xslt xslt-1.0

<xsl:variable name="asteriskSpaceSpaceAsterisk" select="'*  *'"/>

<xsl:value-of select="$asteriskSpaceSpaceAsterisk"/>

EXPECTED OUTPUT
*  *
ACTUAL OUTPUT
* *

问题1)上一行仅存储1个空格,而不是2个。我如何存储2个空格

问题2)

<xsl:when test="starts-with($strippedString,'*  *')">
   <xsl:value-of select="substring($strippedString,5,string-length($strippedString))"/>
</xsl:when>

即使字符串开头的子字符串在星号之间包含2个空格,我也无法匹配。我该怎么做才能得到比赛?

我正在使用xslt 1.0

1 个答案:

答案 0 :(得分:2)

如果创建要由浏览器呈现的文本,则可以将变量定义为:

<xsl:variable name="asteriskSpaceSpaceAsterisk" select="'*&#160;&#160;*'"/>

通过这种方式,字符串包含2个牢不可破空格,这些空格不会被“压缩” 浏览器将其移至单个空间。

另一个说明:在substring函数中,第三个参数给出 length 输出字符串,而不是“停止位置”。

但是,如果您想从某个点提取一个子字符串,直到最后, 只需忽略此参数即可。