Monday, November 08, 2010 at 12:05 AM.
system.verbs.builtins.soap.xmlutils.createMessage
on createMessage (adrmsg, s = nil) { new (tableType, adrmsg); new (tableType, @adrmsg^.elementIDs); new (tableType, @adrmsg^.scopestack); local (adrdocument = @adrmsg^.doctree); if (s != nil) { xml.compile (s, adrdocument); bundle { //collect element IDs on collectIDs (adrtable, adrelement) { if defined (adrelement^.["/atts"].id) { adrtable^.[adrelement^.["/atts"].id] = adrelement}; local (adrtemp = soap.xmlutils.getFirstChildElement (adrelement)); while (adrtemp) { collectIDs (adrtable, adrtemp); adrtemp = soap.xmlutils.getNextSiblingElement (adrtemp)}; return}; collectIDs (@adrmsg^.elementIDs, adrdocument)}} else { new (tableType, adrdocument)}; <<bundle //initialize pointers into doctree <<adrmsg^.envelope = false <<adrmsg^.header = false <<adrmsg^.body = false <<adrmsg^.fault = false return (adrdocument)}
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.