2014-01-04 5 views
1

Этот «$ PAGE_SCOPE [название]» отобразит заголовок страницы, на которой я хочу отображать разные заголовки на основе названия, поэтому я пытаюсь получить заголовок страницы в переменной, это переменная отображает заголовок в теге абзаца, но она не работает в цикле while.переменная xsl не работает в xsl select

<xsl:variable name="PageTitle" select="'$PAGE_SCOPE[title]'" /> 
<xsl:variable name="test"><xsl:value-of select="$PageTitle" /></xsl:variable> 
<p><xsl:value-of select="$test" /></p> 

<xsl:choose> 
<xsl:when test="$test='RAQ'"> 
    <h1 class="h3"><strong>.....</strong></h1> 
</xsl:when> 

<xsl:otherwise> 
    <h1 class="h3"><strong>Error</strong></h1> 
</xsl:otherwise> 
</xsl:choose> 

любые указатели были бы полезны.

+0

Ах, попробуйте удалить одинарные кавычки из первой переменной select, так как ваши переменные содержат '' RAQ'', а не 'RAQ' – freefaller

+0

Вы определенно показываете нам правильный XSLT. У вас есть апостофы в объявлении переменных. Это должно быть ''. Я только задаю этот вопрос, потому что с представленными апострофами абзац абзаца не отображает правильное значение. –

+0

"$ PAGE_SCOPE [title]" это предопределенная переменная, я не объявляю this.if я удаляю одинарные кавычки вокруг $ PAGE_SCOPE [title] в первой переменной select Я не могу сохранить код, поэтому я дал одинарные кавычки i Я использую этот код в Teamsite, это инструмент WCM. – user2962780

ответ

0

Предполагая, что $ PAGE_SCOPE [название] работает и делает то, что обычно предполагается (отметки кавычки являются довольно странными), действительно ли это возвращает элемент? Если он возвращает строковое значение, то это должно работать, но если значение вашей переменной на самом деле является узлом, то это, вероятно, объяснит вашу проблему.

Попробуйте использовать вместо этого string($test). Кроме того, вы можете подумать о добавлении normalize-space(), чтобы убедиться, что у вас нет лишнего пробела, который неожиданно появился.

Смежные вопросы