<RefEntry id="file-extension"> <!-- This file is generated automatically from the DSSSL source. --> <!-- Do not edit this file! --> <?html-filename file-extension.html> <RefMeta> <RefEntryTitle>file-extension</RefEntryTitle> <RefMiscInfo Role="file">dblib.dsl</RefMiscInfo> </RefMeta> <RefNameDiv> <RefName>file-extension</RefName> <RefPurpose>Return the extension of a filename</RefPurpose> </RefNameDiv> <RefSynopsisDiv><Title>Synopsis</Title> <Synopsis> (file-extension filespec) </Synopsis> </RefSynopsisDiv> <RefSect1><Title>Description</Title> <para> Returns the extension of a filename. The extension is the last "."-delimited part of the name. Returns "" if there is no period in the filename.</para> </RefSect1> <RefSect1><Title>Author</Title> <para> Norman Walsh, <ndw@nwalsh.com> </para> </RefSect1> <RefSect1><Title>Source Code</Title> <ProgramListing> (define (file-extension filespec) ;; Return the extension of a filename (if (string? filespec) (let* ((pathparts (match-split filespec "/")) (filename (list-ref pathparts (- (length pathparts) 1))) (fileparts (match-split filename ".")) (extension (list-ref fileparts (- (length fileparts) 1)))) (if (> (length fileparts) 1) extension "")) "")) </ProgramListing> </RefSect1> </RefEntry>