With the introduction of IE7 and the automatic RSS feed detection and the special search tags that I am now including at the footer of each blog entry, I had a thought: Why not include all the feeds specified into an RSS feed that summates the results of all the tags. This feed would be viewable by your favorite browser or feed reader. It would get the results of each RSS feed and genereate a new RSS feed, and the best bit was that it shouldn't requrie any special server or program; Just the browser/feedreader that the user used.I quickly thought about this and thought the possiblilties would be endless (well nearly) I could provide a short feed file, that linked to the other blogs/feeds etc, my server resources would be minimal, the feed owners would see extra traffic and hits to their blog (fully credited of course) and the users would get the best of both worlds. All the processing would be done on the client.I knew that the RSS 2.0 format could be extended with custom schema elements, so I could extend the channel element to include links to extra feeds.I developed an extension to the RSS 2.0 format, it would extend the Channel element by including a new "Sources" element containing a collection of "Source" elements each of which simply pointed to the RSS feed that it needed to include.
<?xml version='1.0' ?><?xml-stylesheet href='rssFeed.xsl' type='text/xsl' ?><rss version='2.0' xmlns:merge='http://kinlan.co.uk/merge'> <channel> <title>Kinlan</title> <link> </link> <description>Kinlan RSS feed.</description> <managingEditor>Paul Kinlan</managingEditor> <webMaster>email@example.com</webMaster> <pubDate>Unknown</pubDate> <merge:Sources> <Source id='Technorati' href='http://feeds.technorati.com/feed/posts/tag/Styling' /> </merge:Sources> </channel></rss>
<?xml version='1.0' ?><xsl:stylesheet xmlns:xsl='http://www.w3.org/1999/XSL/Transform' version='1.0' xmlns:merge='http://kinlan.co.uk/merge'> <xsl:output method='xml'/> <xsl:template match='channel'> <xsl:copy-of select='/.' /> <xsl:element name='rss' namespace=''> <xsl:apply-templates select='/rss/channel/merge:Sources/Source' /> </xsl:element> </xsl:template> <xsl:template match='/rss/channel/merge:Sources/Source'> <!--Import Some More Documents --> <xsl:copy-of select='document(@href)//item'/> </xsl:template></xsl:stylesheet>
- IE has security (no jokes please ;))
- IE has data island security
- I was essentially pulling in data from a domain other than the one I was in.
- It is fine and dandy having data pulled in from different sources by the client that needs them, but there is no guarantee that the engine that pulls them in will have an XSLT Engine, let alone MSXML.
- If I wanted it all done on the client, I can't use any fancy AJAX stuff either, nor could I use any MSXML objects in the browser for the same reason as the previous point.
I lead the Chrome Developer Relations team at Google.
We want people to have the best experience possible on the web without having to install a native app or produce content in a walled garden.
Our team tries to make it easier for developers to build on the web by supporting every Chrome release, creating great content to support developers on web.dev, contributing to MDN, helping to improve browser compatibility, and some of the best developer tools like Lighthouse, Workbox, Squoosh to name just a few.