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

on browseHttpFile (url, ctCacheSeconds=3600, flNeuterMacros=true) {
		<<2/5/02; 11:45:03 AM by PBS
			<<Conditionalized to work in Frontier.
		<<11/23/01; 12:25:25 PM by DW
			<<Created. Reads an OPML file via HTTP and runs it through the browser.
	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^.[url];
		if defined (adrincache^) {
			if ( () - timeModified (adrincache)) < ctCacheSeconds {
				flread = false}}};
	if flread {
		local (xmltext = tcp.httpReadUrl (url));
		if flNeuterMacros {
			if system.environment.isRadio { //PBS 02/05/02: conditionalized to work in Frontier
				xmltext = string.replaceall (xmltext, "<%", "<%")}
			else {
				xmltext = string.replaceall (xmltext, "{", "{")}};
		op.xmltooutline (xmltext, adrincache);
		settimemodified (adrincache, ())};
	return (radio.prefs.browser (adrincache))}
<<bundle //test code
	<<browseHttpFile ("")

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.