我想创建一个基于变量的动态行过滤器。我有下面的代码:Sharepoint XSLT动态过滤
<xsl:variable name="filter" select="contain(@Title, 'title1') or contain(@Title, 'title2')"/>
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[string($filter)]" />
这不幸似乎不工作,我最终与所有行。我猜这个过滤器实际上并没有被应用,因为我可以复制并粘贴$ filter变量的输出,将它复制并粘贴到Row []中,并且它按预期工作。
以前有人试过这样做吗?
如果你想知道的过滤器变量是使用像分割字符串模板实际创建: - - 标题2 TITLE1 TITLE3 并返回像一个字符串: 包含(@Title,“TITLE1”)或含有(@Title, '标题2')或含有(@Title, 'TITLE3')
任何帮助将不胜感激!
那么有没有方法来创建一个真正的动态过滤器?有点像你会在PHP/ASP中做的? 虽然我喜欢你的分隔符想法,但由于某种原因,当我在SP Designer中使用 时,它崩溃并创建了100行,值为 - 如果我试图在SP Designer中打开该文件,它会空白,但文件大小是145kb。 我正在寻找更清洁的解决方案,但我想我不能太挑剔,对吧? – TeckniX 2009-12-09 23:07:54
你意识到' '是ASCII CR?只是在说'。 ;)我真的不知道这会如何崩溃整个事情。我通常在普通的文本编辑器中编辑我的XSLT文件,我没有使用SP Designer的经验。分隔字符串方法是创建真正动态过滤器的最简单方法。它只是以符合XSLT/XPath的方式或多或少地符合您的意图。 – Tomalak 2009-12-09 23:41:02