XSL неожиданный токен $ исключение ошибки - PullRequest
0 голосов
/ 11 августа 2011

Я новичок в программировании XSL.Не могли бы вы помочь мне решить эту проблему?

Можно ли объединить и извлечь значения двух xsl: variable Пример:

<xsl:variable name="path1" select="//path1"/>
<xsl:variable name="path2" select="//path2/value"/>

Затем объединить их, используя:

<xsl:value-of select ="$path1/$path2"/>

Я хочу получить значение из path1 путем объединения результата из path2. Если я использую приведенный выше код, я получаю неожиданный токен $ error

Есть ли какая-либо другая альтернатива?

1 Ответ

2 голосов
/ 11 августа 2011

Похоже, что вы, вероятно, хотите сделать

<xsl:value-of select="concat($path1,$path2)" />

Здесь стоит указать, что вы на самом деле не храните пути в этих переменных, а узлы, на которые указывают эти пути.т. е. $path1 не содержит //path1, но содержит значение того, что содержит этот узел.

Если вы действительно хотели получить текст '//path1//path2/value', то вам нужно определить переменные пути с помощью

<xsl:value-of select="path1" select="'//path1'" />
<xsl:value-of select="path2" select="'//path2/value'" />

(обратите внимание на дополнительный ', который указывает, что это текстовое значение, а не xpath).Тот же самый оператор <xsl:value-of, приведенный выше, даст вам вывод '//path1//path2/value' в этом случае.

Если вам действительно нужно содержимое узла //path1//path2/value, это намного сложнее, и, скорее всего, естьлучший способ сделать то, что вы пытаетесь сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...