连续的XSLT空白区域

时间:2018-05-16 12:59:48

标签: xslt

我有以下代码

<xsl:value-of select="concat(string($var15_cond_result_exists), string($var16_cond_result_exists))"/>

连接2个字符串。将约翰和史密斯检查到约翰史密斯。

我想要的是名字和姓氏之间的空格。 我可以通过在concat中添加''来实现这一点。如果有没有名字或姓氏的可能性,那么我不需要空格。

我该如何解决这个问题?

是否可以使用某些条件或更容易解决。

2 个答案:

答案 0 :(得分:2)

将结尾包裹在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))"/>

答案 1 :(得分:2)

您不会说出您正在使用的XSLT版本。在XSLT 2.0中,你可以做到

<xsl:value-of select="$var15_cond_result_exists, $var16_cond_result_exists"/>

当且仅当两个项目都存在时才会自动插入空格。转换为字符串在1.0和2.0中都是自动的。