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

on renderOpmlFile (f, pta) {
	local (s = string (file.readWholeFile (f)));
	local (localOutline);
	op.xmlToOutline (s, @localOutline);
	window.setTitle (@localOutline, file.fileFromPath (f)); //JES 06/08/00: for pike.renderOutline
	local (htmlText);
	if string.lower (string (localOutline)) contains "<html>" { //it's already HTML
		htmlText = string (localOutline)}
	else { //PBS 01/23/01: render the outline as HTML
		if defined (user.pike.renderOutline) {
			local (adrScript = @user.pike.renderOutline);
			while (typeOf (adrScript^) == addressType) {
				adrScript = adrScript^};
			htmlText = adrScript^ (@localOutline)}
		else {
			htmlText = pike.renderOutline (@localOutline)}};
	<<pta^.responseBody = string (localOutline) //it's the outline text as a string
	pta^.responseBody = htmltext}

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.