Monday, November 08, 2010 at 12:07 AM.
system.verbs.builtins.xml.getAlternateLinks
on getHtmlLinks (urlHtml, adrtable) { <<Changes <<11/4/09; 5:29:21 PM by DW <<Gather all the <link rel>s out of the HTML text in a table. local (s = tcp.httpreadurl (urlHtml, ctFollowRedirects:5), ix, ixright, xmltext, xstruct); new (tabletype, adrtable); loop { ix = string.patternmatch ("<link rel=", string.lower (s)); if ix == 0 { return (false)}; s = string.delete (s, 1, ix-1); ixright = string.patternmatch (">", s); xmltext = string.mid (s, 1, ixright); try { local (xstruct); xml.compile (xmltext, @xstruct); local (adrlink = xml.getaddress (@xstruct, "link")); local (adratts = @adrlink^.["/atts"]); adrtable^.[adratts^.href] = adratts^}; <<scratchpad.xstruct = xstruct s = string.delete (s, 1, ixright)}} <<bundle //test code <<getHtmlLinks ("http://unberkeley.com", @scratchpad.links2)
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.