Skip to main content
Sivut

Sivut

Search
ITpro.fi
Asiantuntijaryhmät
Materiaalit
Jäsenyys
Jäsenyhteisöt
ITpro ry
PK-Akatemia
  
ITpro.fi > IT-Wikistö > Sivut > Tietotyö ja ryhmätyö > Karsittu SPS 2007 RSS Feed webpart Blogeja varten  

Tietotyö ja ryhmätyö: Karsittu SPS 2007 RSS Feed webpart Blogeja varten

 
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
Tämä toimii nyt siten kuin syötteet näkyvät sivulla http://itpro.fi/asiantuntijaryhmat
 
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:stylesheet xmlns:x="http://www.w3.org/2001/XMLSchema"
               version="1.0" exclude-result-prefixes="xsl ddwrt msxsl rssaggwrt"
               xmlns:ddwrt="http://schemas.microsoft.com/WebParts/v2/DataView/runtime"
               xmlns:rssaggwrt="http://schemas.microsoft.com/WebParts/v3/rssagg/runtime"
               xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt"
               xmlns:rssFeed="urn:schemas-microsoft-com:sharepoint:RSSAggregatorWebPart"
               xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"
               xmlns:rss1="http://purl.org/rss/1.0/" xmlns:atom="http://www.w3.org/2005/Atom"
               xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
               xmlns:atom2="http://purl.org/atom/ns#">
    <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 &lt;= $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>