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 に答える