<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
答案 0 :(得分:2)
如果创建要由浏览器呈现的文本,则可以将变量定义为:
<xsl:variable name="asteriskSpaceSpaceAsterisk" select="'*  *'"/>
通过这种方式,字符串包含2个牢不可破空格,这些空格不会被“压缩” 浏览器将其移至单个空间。
另一个说明:在substring
函数中,第三个参数给出 length
输出字符串,而不是“停止位置”。
但是,如果您想从某个点提取一个子字符串,直到最后, 只需忽略此参数即可。