我正在使用自定义ContentQueryMain.xsl开发自定义CQWP,我正在使用一个列表结构,我希望有一个分隔符可以为每个三项创建一个新列表。这里是模板的代码:XSLT因列表结构引发webpart错误
<xsl:template name="CustomGroupTemplateSimple2">
<ul>
<li>
<ul class="liste1">
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>
<xsl:for-each select="$Rows">
<xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/>
<li>
test
</li>
<xsl:if test="position() mod 3 = 0">
</ul>
</li>
<li>
<ul class="separator">
</xsl:if>
</xsl:for-each>
</ul>
</li>
</ul>
</xsl:template>
隔板是:
</ul>
</li>
<li>
<ul class="separator">
负责提出的web部件错误。下面的代码是可以正常使用:
<xsl:template name="CustomGroupTemplateSimple2">
<ul>
<li>
<ul class="liste1">
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row"/>
<xsl:for-each select="$Rows">
<xsl:call-template name="OuterTemplate.CallPresenceStatusIconTemplate"/>
<li>
test
</li>
<xsl:if test="position() mod 3 = 0">
SEPARATOR
</xsl:if>
</xsl:for-each>
</ul>
</li>
</ul>
</xsl:template>
当我直接替换“分隔符”:在aspx页面
</ul>
</li>
<li>
<ul class="separator">
(编译后),一切都是完美的工作了。
因此,我真的失去了这种情况,因为我真的需要这个分隔符。
非常感谢您
事实上,我刚刚尝试过没有(这意味着我已将分隔符放在每个项目中)的情况相同,并且发生完全相同的情况,因此问题不是来自if语句 –
Holden
哦,确定它正在工作! – Holden
thts grtt :)我同意Dimitre Novatchev的声明,这就是为什么我已经为您提供了相同的解决方法 –