[XSLT] rendu d'une recherche - utilisation d'une fonction récursive
voila j'utilise le code XSL de la recherche dans sharepoint pour afficher/modifier les urls qui contiennent la chaine
Code:
Lists/Versions/DispForm.aspx?ID=
par
Code:
default.aspx?version=
j'ai ajouté une fonction récursive qui fait ça (replace-string function), elle fonctionne mais j'aurais besoin d'appliquer son résultat à la place des $url en dessous <a href="{$url}' ...
si qq a une idée merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| <!-- reusable replace-string function -->
<xsl:template name="replace-string">
<xsl:param name="text"/>
<xsl:param name="OldUrlVersionList">Lists/Versions/DispForm.aspx?ID=</xsl:param>
<xsl:param name="NewUrlVersionList">default.aspx?version=</xsl:param>
<xsl:choose>
<xsl:when test="contains($text, $OldUrlVersionList)">
<xsl:variable name="before" select="substring-before($text, $OldUrlVersionList)"/>
<xsl:variable name="after" select="substring-after($text, $OldUrlVersionList)"/>
<xsl:value-of select="$before"/>
<xsl:value-of select="$NewUrlVersionList"/>
<xsl:value-of select="$after"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<!-- This template is called for each result -->
<xsl:template match="Result">
<xsl:variable name="id" select="id"/>
<xsl:variable name="url" select="url"/>
<span class="srch-Icon">
<a href="{$url}" id="{concat('CSR_IMG_',$id)}" title="{$url}">
<img align="absmiddle" src="{imageurl}" border="0" alt="{imageurl/@imageurldescription}" />
</a>
</span>
<span class="srch-Title">
<a href="{$url}" id="{concat('CSR_',$id)}" title="{$url}">
<xsl:choose>
<xsl:when test="hithighlightedproperties/HHTitle[. != '']">
<xsl:call-template name="HitHighlighting">
<xsl:with-param name="hh" select="hithighlightedproperties/HHTitle" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="title"/>
</xsl:otherwise>
</xsl:choose>
</a>
<br/>
</span>
...
</xsl:template> |