Я знаю, что это старая ветка, но она заставила меня начать решать проблему, и я подумал, что я опубликую свои результаты здесь для кого-то в будущем.
Мы используем SharePoint 2010 Enterprise Search, и для страницы результатов у меня было требование сократить URL-адрес из центра и включить выделение. Подсветка не работает, когда URL сокращается, и, вероятно, есть более простой / лучший способ сделать это, но это то, что я сделал:
<span class="srch-URL2" id="{concat($currentId,'_Url')}" title="{$url}">
<xsl:call-template name="truncateURL">
<xsl:with-param name="targetURL">
<xsl:value-of select="url"/>
</xsl:with-param>
<xsl:with-param name="allowablelength" select="number(40)"/>
</xsl:call-template>
</span>
<xsl:template name="truncateURL">
<xsl:param name="targetURL"/>
<xsl:param name="allowablelength"/>
<xsl:choose>
<xsl:when test="string-length($targetURL) < $allowablelength">
<xsl:choose>
<xsl:when test="hithighlightedproperties/HHUrl[. != '']">
<xsl:call-template name="HitHighlighting">
<xsl:with-param name="hh" select="hithighlightedproperties/HHUrl" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$targetURL"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="string-length($targetURL) < ($allowablelength+$allowablelength)">
<xsl:choose>
<xsl:when test="hithighlightedproperties/HHUrl[. != '']">
<xsl:call-template name="HitHighlighting">
<xsl:with-param name="hh" select="hithighlightedproperties/HHUrl" />
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$targetURL"/>
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring($targetURL, 1, $allowablelength)"/>
<xsl:text>…</xsl:text>
<xsl:value-of select="substring($targetURL, (string-length($targetURL)-$allowablelength)+1, $allowablelength)"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>