Tätä itpro.fi sivustoa varten tehtiin SharePoint 2007: RSS Feed webpartista tiivistetyn version lyhentämällä sen käyttämää XSL -tiedostoa. XSL lyheni tätä käyttöä varten viidesosaan ja näyttää nyt allaolevalta.
Tässä XSL:ssä on lisäksi muotoiltu alkuperäistä RSS -syötettä
- poistamalla sisäinen IP osoite URL:eista, jolloin se korvautuu ulkoisella
- pudottamalla URL:eista pois loppuosa, "" jolloin otsikko osoittaa asiantuntijaryhmien sivuille eikä blogien luetteloon
Saisiko tästä vielä jotekin fiksumman tai lyhyemmän?
Voisiko tätä optimoida jotenkin että se toimisi nopeammin?
Käyttäkää hyväksi jos tästä on hyötyä tai apua:
<xsl:param name="rss_FeedLimit">5</xsl:param>
<xsl:param name="rss_ExpandFeed">false</xsl:param>
<xsl:param name="rss_LCID">1033</xsl:param>
<xsl:param name="rss_WebPartID">RSS_Viewer_WebPart</xsl:param>
<xsl:param name="rss_alignValue">left</xsl:param>
<xsl:param name="rss_IsDesignMode">True</xsl:param>
<xsl:template match="rss">
<xsl:call-template name="RSSMainTemplate"/>
</xsl:template>
<xsl:template name="RSSMainTemplate" xmlns:ddwrt="
http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:variable name="Rows" select="channel/item"/>
<xsl:variable name="RowCount" select="count($Rows)"/>
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse; margin:0px;" width="100%">
<tr style="margin-top:3px;margin-bottom:1px;height:12px;border:0px;" rowspan="1">
<td style="font-family:verdana;font-size:10pt; font-weight : bold;color: #000000; text-decoration:none;text-align:{$rss_alignValue};" width="100%" colspan="2">
<a href="{ddwrt:EnsureAllowedProtocol(substring-before(substring-after(string(channel/link),'123.123.123.123'),'/Lists/Posts/AllPosts.aspx'))}">
<xsl:value-of select="channel/title"/>
</a>
</td>
</tr>
<xsl:call-template name="RSSMainTemplate.body">
<xsl:with-param name="Rows" select="$Rows"/>
<xsl:with-param name="RowCount" select="count($Rows)"/>
</xsl:call-template>
</table>
</xsl:template>
<xsl:template name="RSSMainTemplate.body" xmlns:ddwrt="
http://schemas.microsoft.com/WebParts/v2/DataView/runtime" xmlns:xsl="
http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:param name="Rows"/>
<xsl:param name="RowCount"/>
<xsl:for-each select="$Rows">
<xsl:variable name="CurPosition" select="position()" />
<xsl:variable name="RssFeedLink" select="$rss_WebPartID" />
<xsl:variable name="CurrentElement" select="concat($RssFeedLink,$CurPosition)" />
<xsl:if test="($CurPosition <= $rss_FeedLimit)">
<tr style="margin-top:3px;margin-bottom:1px;height:16px;border:3px;" rowspan="1">
<td class="slm-display-link" width="100%" valign="top">
<div>
<a href="{ddwrt:EnsureAllowedProtocol(substring-after(string(link),'123.123.123.123'))}">
<xsl:value-of select="title"/>
</a>
</div>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>