Monday, November 08, 2010 at 12:07 AM.
system.verbs.builtins.xml.aggregator.bootstrap
on bootstrap (url) {
<<Changes
<<11/25/01; 8:51:03 AM by DW
<<Takes a parameter, the url is no long hard-coded.
<<Don't create the service table if it's already defined. (Don't want to wipe out stats or history, otherwise the user will get repeats of stories that have already appeared.)
<<11/8/01; 9:44:25 AM by DW
<<Created.
<<The aggregator is being launched for the first time.
<<Read the virgin services list, and do a scan.
local (adrdata = xml.aggregator.init ());
local (xmltext = tcp.httpReadUrl (url), xstruct);
xml.compile (xmltext, @xstruct);
local (adropml = xml.getAddress (@xstruct, "opml"));
local (adrbody = xml.getAddress (adropml, "body"));
local (outlinelist = xml.getAddressList (adrbody, "outline"));
local (adr, xmlurl, adrservice);
for adr in outlineList {
xmlurl = xml.getAttributeValue (adr, "xmlUrl");
adrservice = @adrdata^.services.[xmlurl];
if not defined (adrservice^) {
new (tabletype, adrservice)}};
xml.aggregator.readAllServices ()}
<<bundle //test code
<<bootstrap (radio.data.cloudUrls.aggregatorBootstrap)
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.