Monday, November 08, 2010 at 12:03 AM.
system.verbs.builtins.html.normalizeName
on normalizeName (name, adrPageTable=nil, adrObject=nil) { local (flDropNonAlphas, flLowerCaseFileNames); local (maxLength); local (extension = ""); local (pageTable); if adrPageTable == nil { try { adrPageTable = html.getPageTableAddress ()} else { new (tableType, @pageTable); adrPageTable = @pageTable}}; flDropNonAlphas = html.getPref ("dropNonAlphas", adrPageTable); flLowerCaseFileNames = html.getPref ("lowerCaseFileNames", adrPageTable); maxLength = number (html.getPref ("maxFileNameLength", adrPageTable)); extension = html.getPref ("fileExtension", adrPageTable); if adrObject != nil { //this may be a page other than the one being rendered if adrObject != adrPageTable^.adrObject { extension = html.getPagePref ("fileExtension", adrObject, adrPageTable)}}; if flDropNonAlphas { name = string.dropNonAlphas (name)}; if flLowerCaseFileNames { name = string.lower (name)}; maxLength = maxLength - sizeOf (extension); if sizeof (name) > maxLength { name = string.mid (name, 1, maxLength)}; return (name)}
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.