Пробел XSLT в конкатате - PullRequest
0 голосов
/ 16 мая 2018

У меня есть следующий код

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

, который объединяет 2 строки.Изучите Джона и Смита для Джона Смита.

То, что я хочу, это пробел между именем и фамилией.Я могу сделать это с помощью добавления '' 'между ними в concat.Выяснилось, что есть вероятность, что нет имя или фамилия, поэтому мне не нужно пробел.

Как я могу решить эту проблему?

Можно ли использовать некоторые условия или есть более простое решение.

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

Вы не говорите, какую версию XSLT вы используете.В XSLT 2.0 вы можете сделать

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

, который автоматически вставит пробел, если и только если оба элемента существуют.Преобразование в строку происходит автоматически в версиях 1.0 и 2.0.

0 голосов
/ 16 мая 2018

Оберните конкат в normalize-space(), который обрежет все лишние пробелы в начале или конце

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

Обратите внимание, вы можете сбросить функцию string внутри конкатата.Попробуйте тоже

<xsl:value-of 
     select="normalize-space(concat($var15_cond_result_exists, ' ', $var16_cond_result_exists))"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...