>我有以下代码
<xsl:value-of select="concat(string($var15_cond_result_exists), string($var16_cond_result_exists))"/>
连接 2 个字符串。考约翰和史密斯到约翰史密斯。
我想要的是名字和姓氏之间的空格。 我可以通过在它们之间添加 ,'' 来做到这一点。有可能没有名字或姓氏,所以我不需要空格。
我该如何解决这个问题?
是否可以使用某些条件或有更简单的解决方案。
将concat 包装在normalize-space()
中,这将修剪开头或结尾处的任何多余空格
<xsl:value-of
select="normalize-space(concat(string($var15_cond_result_exists), ' ', string($var16_cond_result_exists)))"/>
请注意,您可以将string
函数放在 concat 中。也试试这个
<xsl:value-of
select="normalize-space(concat($var15_cond_result_exists, ' ', $var16_cond_result_exists))"/>
你没有说你使用的是哪个 XSLT 版本。在 XSLT 2.0 中,您可以执行
<xsl:value-of select="$var15_cond_result_exists, $var16_cond_result_exists"/>
当且仅当两个项目都存在时,它将自动插入一个空格。在 1.0 和 2.0 中,转换为字符串都是自动的。