Xslt xsl变量在xsl choose中不起作用
此“$PAGE_SCOPE[title]”将显示页面的标题。我想根据标题显示不同的标题,因此我尝试在变量中获取页面标题。此变量在段落标记中显示标题,但在when循环中不起作用Xslt xsl变量在xsl choose中不起作用,xslt,xslt-1.0,xsl-choose,Xslt,Xslt 1.0,Xsl Choose,此“$PAGE_SCOPE[title]”将显示页面的标题。我想根据标题显示不同的标题,因此我尝试在变量中获取页面标题。此变量在段落标记中显示标题,但在when循环中不起作用 <xsl:variable name="PageTitle" select="'$PAGE_SCOPE[title]'" /> <xsl:variable name="test"><xsl:value-of select="$PageTitle" /></xsl:variable&
<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>
..
错误
任何指针都会很有帮助。假设$PAGE\u SCOPE[title]正常工作并执行它应该执行的操作(上面的引号有点奇怪),这是否真的返回了一个元素?如果它返回一个字符串值,那么这应该是有效的,但是如果变量的值实际上是一个节点,那么这可能会解释您的问题
尝试使用
string($test)
进行比较。此外,您可以考虑添加<代码>标准化-空间()/<代码>,以确保没有任何空白显示。啊,尝试从第一个变量选择中删除单个引号,因为变量包含“代码>‘RAQ’< /代码>,而不是<代码> RAQ您是否确实向我们展示了正确的XSLT。变量声明中有撇号。它应该是
。我之所以质疑这一点,是因为在出现撇号的情况下,段落标记也不会显示正确的值。“$PAGE_SCOPE[title]”这是一个预定义变量,我不会声明它。如果我删除$PAGE_SCOPE[title]周围的单引号在第一个变量select中,我无法保存代码,这就是为什么我给出了单引号。我在Teamsite中使用此代码,它是一个WCM工具。