Monday, November 08, 2010 at 12:05 AM.

on browseOpmlFile (f) {
		<<2/5/02; 11:48:22 AM by PBS
			<<Creates if necessary in Frontier.
		<<11/23/01; 12:00:35 PM by DW
	local (flread = true, adrincache);
	bundle { //set flread, adrincache
		if not defined ( { //PBS 02/05/02: this table may not exist in Frontier
			new (tableType,};
		local (adrcache =;
		if not defined (adrcache^) {
			new (tabletype, adrcache)};
		adrincache = @adrcache^.[f];
		if defined (adrincache^) {
			if file.modified (f) <= timeModified (adrincache) {
				flread = false}}};
	if flread {
		local (xmltext = file.readwholefile (f));
		op.xmltooutline (xmltext, adrincache);
		settimemodified (adrincache, file.modified (f))};
	return (radio.prefs.browser (adrincache))}
<<bundle //test code
	<<browseOpmlFile ("C:\\Program Files\\Radio UserLand\\www\\userland\\todolist.opml")

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.