import xmlpl.stdio; import xmlpl.curl; import xmlpl.xml; import xmlpl.stdlib; import xmlpl.string; string url = "http://feeds.reuters.com/reuters/"; string[] feeds = "globalCoverage2", "topNews", "smallBusinessNews", "domesticNews", "worldNews", "politicsNews", "entertainment", "technologyNews", "scienceNews", "internetNews", "sportsNews", "healthNews", "oddlyEnoughNews", "inDepthNews", "environment"; string getQValue(string[] query, string name) { integer i; for (i = 0; i + 1 < size(query); i += 2) if (name == query[i]) return url_unescape(query[i + 1]); return ""; } node[] doFrames() { } node[] doFeed(string feed) { element rss = open("http://feeds.reuters.com/reuters/" + feed)/rss; rss/channel/title;
"Select Feed: "; rss/channel/title/text();
    foreach (rss/channel/item)
  1. ./pubDate/text(); ": "; ./title/text();
} node[] main() { string[] query = tokenize(getenv("QUERY_STRING"), "&="); string feed = getQValue(query, "feed"); :: Output CGI string "Content-type: text/html\n\n"; if (feed != "") doFeed(feed); else doFrames(); }