我正在为SharePoint创建自定义XSL,并且我希望它可以重用于其他数据视图Web部件。 XSL使用Bootstrap选项卡创建列表的选项卡视图。通过提取列中的唯一值来生成选项卡。我希望能够将列定义为变量,然后使用模板和for-each循环使用此变量生成选项卡并过滤列表项。以下是我想要做的简化版本:
XML是一个SharePoint列表,因此:
<dsQueryResponse>
<Rows>
<Row attribute1="value1" attribute2="value3" attribute3="value3" />
<Row attribute1="value2" attribute2="value3" attribute3="value4" />
<Row attribute1="value3" attribute2="value3" attribute3="value5" />
</Rows>
</dsQueryResponse>
XSL:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="html" indent="yes"/>
<xsl:variable name="tabcategory" select="/dsQueryResponse/Rows/Row/@arribute2" />
<xsl:template match="/dsQueryResponse/Rows/Row">
<p><xsl:value-of select="@attribute2" /></p>
<p><xsl:value-of select="$tabcategory" /></p>
</xsl:template>
</xsl:stylesheet>
目前的输出是:
<p>value3</p>
<p></p>
<p>value3</p>
<p></p>
<p>value3</p>
<p></p>
所需的输出是:
<p>value3</p>
<p>value3</p>
<p>value3</p>
<p>value3</p>
<p>value3</p>
<p>value3</p>
我需要通过使用变量而不是@attribute节点来获取SharePoint行的属性值。现在它返回一个空值。