我有一个相对简单的问题。 (至少我认为这很简单)。
我从SharePoint 2013列表中提取值。我有以下代码:
<xsl:variable name="target">
<xsl:choose>
<xsl:when test="@NewWindow = 'Yes'">
<xsl:value-of select="_blank" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="_self" />
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
我想要的是以下内容:
if NewWindow = Yes
target = _blank
else
target = _self
上面的代码只是在使用{@NewWindow}时打印出来,或者在使用{$ target}时根本没有打印出来。
感谢任何和所有帮助!
答案 0 :(得分:1)
select
属性中的值是XPath表达式,而不是静态值。作为XPath表达式,_blank
将选择名为_blank
的元素。
要使用静态值,您可以使用<xsl:text>
,也可以不使用任何内容。
使用<xsl:text>
:
<xsl:variable name="target">
<xsl:choose>
<xsl:when test="@NewWindow = 'Yes'">
<xsl:text>_blank</xsl:text>
</xsl:when>
<xsl:otherwise>
<xsl:text>_self<xsl:text>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
仅使用值:
<xsl:variable name="target">
<xsl:choose>
<xsl:when test="@NewWindow = 'Yes'">_blank</xsl:when>
<xsl:otherwise>_self</xsl:otherwise>
</xsl:choose>
</xsl:variable>