Поведение переменной здесь не работает должным образом. У меня есть переменная с именем fonttag со значением, которое представляет собой строку HTML с начальными и конечными тегами и разделителем.Как использовать значение переменной
<xsl:variable name="fonttag">
<font face="ANGSANA NEW" size="12">|</font>
</xsl:variable>
Когда я пытаюсь использовать его, чтобы получить часть строки обратно, я получаю пустую строку:
<xsl:value-of select="substring-before($fonttag ,'|')"/>
Где я ожидал подстроку:
<font face="ANGSANA NEW" size="12">
Аналогичным образом
<xsl:value-of select="$fonttag"/>
ничего не возвращает, хотя
<xsl:copy-of select="$fonttag"/>
возвращение всей строки. Есть ли другой способ добиться ожидаемого результата?
наследованного вопрос: Можно ли гнездо Xsl выбора тегов, как это (не могу заставить его работать либо)
<xsl:copy-of select="substring-before(<xsl:copy-of select="$fonttag"/>,'|')"/>
?
спасибо
Вы не устанавливаете строковое значение для своей переменной ... это узел в этом случае, поэтому 'substring()' не будет работать и 'copy-of' делает. – potame