Я ищу более простой способ конкатенации переменной и строкового значения. В настоящее время у меня есть следующее:Переменная xslt concat и строка
<xsl:for-each select="$var_asset_name">
<xsl:attribute name="Asset_Name" select="fn:concat(fn:string(.), '_title')"/>
</xsl:for-each>
с $ var_asset_name, определенным далее. Это работает, но мне интересно, есть ли более простой способ добиться того же результата. Я попытался
<xsl:attribute name="Asset_Name" select="fn:concat($var_asset_name, '_title')"/>
, но он не работает (ошибка: Прилагаемый последовательность («2» товар (ов)) имеет неправильное вхождение в соответствии с хз типа последовательности: anyAtomicType («ноль или один»))
Заранее спасибо.
Ваш код является неправильным по другим причинам, не связанным непосредственно с вопросом - вы выполняете итерацию с использованием for-each и пытаетесь создать более одного атрибута с тем же именем. это просто неправильно. –
Если '$ var_asset_name' является строкой,' concat ($ var_asset_name, '_title') 'отлично. Сообщение об ошибке и использование '$ var_asset_name' с' xsl: for-each' указывает, что '$ var_asset_name' не является строкой. Предоставьте [** Минимальный, * Полный * и Подтверждаемый пример (MCVE) **] (http://stackoverflow.com/help/mcve), который обнаруживает проблему, особенно включая определение '$ var_asset_name'. Благодарю. – kjhughes