Does someone who has access to an MSFT system care to take a
look at this?

>From: James M Snell <[EMAIL PROTECTED]>
>To: [EMAIL PROTECTED]
>Subject: Re: [rss-public] Microsoft Feeds API Enclosure Test
>Date: Wed, 22 Feb 2006 21:28:19 -0800
>Message-ID: <[EMAIL PROTECTED]>
>List-Id: <rss-public.yahoogroups.com>
>
>Hmm.. interestingly, this API also looks as if it would stuff multiple
>enclosures in Atom also... in which case, I'd argue that the API is
>simply broken.
>
>rcade wrote:
>> Power Line has a podcast feed that includes multiple enclosures, as
>> someone pointed out earlier on this list:
>> 
>> http://www.powerlineblog.com/podcasts.xml
>> 
>> A cached copy of this feed is here:
>> 
>> http://www.rssboard.org/files/example-multiple-enclosures.xml
>> 
>> This feed contains one item with one enclosure, a second with three
>> enclosures, and a third with three enclosures (in that order).
>> 
>> After subscribing to this feed in MSIE 7 and choosing automatic
>> downloads of enclosures, I wrote a VB.NET console application that
>> displays the URL of each enclosure in the feed:
>> 
>> Sub Main()
>>     Dim fm : fm = CreateObject("Microsoft.FeedsManager")
>>     Dim fmroot = fm.RootFolder
>>     Dim plfeed = fmroot.getFeed("Power Line")
>>     Dim i
>>     For i = 0 To plfeed.Items.Count - 1
>>         Dim item = plfeed.getItem(i)
>>         Console.WriteLine("Title: " + item.Title)
>>         Dim plenclosure = item.Enclosure()
>>         Console.WriteLine("Enclosure: " + plenclosure.Url)
>>         Console.WriteLine("")
>>         Console.Write(item.xml(1))
>>         Console.WriteLine("")
>>     Next
>> End Sub
>> 
>> Here's the output of the application (with item elements other than
>> enclosure removed from the XML):
>> 
>> -- BEGIN OUTPUT --
>> 
>> Title: Listen to Col. Stephenson and Judge for Yourself
>> Enclosure: http://powerlineblog.com/podcasts/NA218Stephenson.mp3
>> 
>> <item><enclosure
>> url="http://powerlineblog.com/podcasts/NA218Stephenson.mp3";
>> length="21455322" type="audio/mpeg"
>> xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005";
>> cf:path="C:\Documents and Settings\Rogers\Local Settings\Temporary
>> Internet Files\Enclosure\{0C1E2407-FAE4-447F-9054-FB1C7CFE6A86}\Listen
>> to Col. Stephenson and Judge for Yourself.mp3"
>> cf:downloadstatus="Downloaded"/></item>
>> -------------------------------------------------------
>> Title: New Podcast:  Yesterday's Northern Alliance Radio Network
>> Enclosure: http://powerlineblog.com/podcasts/Feb111stHourPt1.mp3
>> 
>> <item><enclosure
>> url="http://powerlineblog.com/podcasts/Feb111stHourPt1.mp3";
>> length="19949804" type="audio/mpeg"
>> xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005";
>> cf:path="C:\Documents and Settings\Rogers\Local Settings\Temporary
>> Internet Files\Enclosure\{0C1E2407-FAE4-447F-9054-FB1C7CFE6A86}\New
>> Podcast  Yesterday's Northern Alliance Radio Network.mp3"
>> cf:downloadstatus="Downloaded"/><enclosure
>> url="http://powerlineblog.com/podcasts/Feb111stHourPt2.mp3";
>> length="8550404" type="audio/mpeg"/><enclosure
>> url="http://powerlineblog.com/podcasts/Feb112ndHour.mp3";
>> length="15032924" type="audio/mpeg"/></item>
>> -------------------------------------------------------
>> Title: Now Podcasting:  The Northern Alliance Radio Network!
>> Enclosure: http://powerlineblog.com/podcasts/January21,1stHour.mp3
>> 
>> <item><enclosure
>> url="http://powerlineblog.com/podcasts/January21,1stHour.mp3";
>> length="39923577" type="audio/mpeg"
>> xmlns:cf="http://www.microsoft.com/schemas/rss/core/2005";
>> cf:path="C:\Documents and Settings\Rogers\Local Settings\Temporary
>> Internet Files\Enclosure\{0C1E2407-FAE4-447F-9054-FB1C7CFE6A86}\Now
>> Podcasting  The Northern Alliance Radio Network!.mp3"
>> cf:downloadstatus="Downloaded"/><enclosure
>> url="http://powerlineblog.com/podcasts/January212ndHourPt1.mp3";
>> length="14954800" type="audio/mpeg"/><enclosure
>> url="http://powerlineblog.com/podcasts/January212ndHourPt2.mp3";
>> length="12517975" type="audio/mpeg"/></item>
>> -------------------------------------------------------
>> 
>> -- END OUTPUT --
>> 
>> The Feeds API refers to an item enclosure singularly. The only method
>> I found reads a enclosure from an item. When multiple
>> enclosures are present, item.Enclosure() retrieves the first.
>> 
>> An item's xml(1) method produces its contents as XML, with the numeric
>> 1 argument indicating that Microsoft's common format feed
>> elements, and Simple List Extensions should be included in the output.
>> 
>> The XML output includes the multiple enclosures, in which the
>> cf:downloadstatus element only is present for the first enclosure in
>> each item.
>> 
>> Checking the Temporary Internet Files folder where enclosures are
>> being stored, only the first enclosure in each of the three items is
>> present.
>> 
>> As the Feeds API is presently implemented, publishers of RSS feeds
>> with multiple enclosures will lose two advantages of Microsoft's
>> common feed engine when their feeds are read:
>> 
>> 1. Enclosures beyond an item's first are not automatically downloaded,
>> so they must be requested manually by a user.
>> 
>> 2. Programmers who build on the API will have to grab the XML and get
>> these files directly.
>> 
>> This is my first poke around the Feeds API and VB.NET, so it's likely
>> I may be overlooking things.

----- End forwarded message -----

Regards,
-- 
Aristotle Pagaltzis // <http://plasmasturm.org/>

Reply via email to