Monday, November 08, 2010 at 12:00 AM.
scripting2Suite.hacks.elimDupTextAtt
on elimDupTextAtt (opmltext) { <<Changes <<7/4/10; 1:45:06 PM by DW <<In some cases there's a second text attribute on the summit headline of the outline we're saving. It's the second one we want to get rid of. local (xstruct); xml.compile (opmltext, @xstruct); opmltext = xml.decompile (@xstruct); << << << <<local (lo, title) <<op.xmltooutline (opmltext, @lo) <<bundle //set title <<local (oldtarget = target.set (@lo)) <<op.firstsummit () <<title = op.getlinetext () << <<opmltext = op.outlinetoxml (@lo) wp.newtextobject (opmltext, @scripting2Suite.hacks.opmltextPostHack); return (opmltext); local (pat = "\" text=\"", ix = string.patternmatch (pat, opmltext)); if ix > 0 { local (i); <<wp.newtextobject (opmltext, @scripting2suite.hacks.opmltextPreHack) for i = ix + sizeof (pat) to sizeof (opmltext) { ch = opmltext [i]; if opmltext [i] == '"' { local (ixstartdelete = ix + 2); opmltext = string.delete (opmltext, ixstartdelete, i - ixstartdelete + 2); <<wp.newtextobject (opmltext, @scripting2Suite.hacks.opmltextPostHack) break}}}; return (opmltext)}; bundle { //test code local (s = string (scripting2Suite.hacks.opmltextPreHack)); webbrowser.displaytext ("<pre>" + string.replaceall (elimDupTextAtt (s), "<", "<") + "</pre>")}
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.