1

我在 Sharepoint 上编写自定义搜索结果页面。我遇到了 XSLT 的问题。

SP 的搜索结果类似于:

<Result>
...
<url>http://server/_bdc/name/source.aspx?id=444</url>
...
</Result>

但我想创建自己的链接,从这个 url 变量我只想剪切 id (444):

<a href="http://mynewlink/page.aspx?id=444">MyResult</a>

我尝试了类似的东西(基于标准 SP 模板)

...
<a>
<xsl:attribute name="href">        
{concat('http://mynewlink/page.aspx?id=', substring-after("{url}", "="))}
</xsl:attribute>
</a>
...

但它没有用 - 我不知道这个连接放在哪里......

4

1 回答 1

3

您的代码“几乎”正确,首先替换

"{url}" 

url

这是一个完整的转换:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="/*">
    <a href=
       "http://mynewlink/page.aspx?id={substring-after(url,'=')}">MyResult</a>
 </xsl:template>
</xsl:stylesheet>

当这应用于提供的 XML 文档时

<Result>
 ...
 <url>http://server/_bdc/name/source.aspx?id=444</url>
 ...
</Result>

产生了想要的正确结果:

<a href="http://mynewlink/page.aspx?id=444">MyResult</a>
于 2012-08-17T12:45:32.653 回答