<RefEntry id="node-list-filter-out-pis"> <!-- This file is generated automatically from the DSSSL source. --> <!-- Do not edit this file! --> <?html-filename node-list-filter-out-pis.html> <RefMeta> <RefEntryTitle>node-list-filter-out-pis</RefEntryTitle> <RefMiscInfo Role="file">dblib.dsl</RefMiscInfo> </RefMeta> <RefNameDiv> <RefName>node-list-filter-out-pis</RefName> <RefPurpose>Returns the nodelist with all PIs removed</RefPurpose> </RefNameDiv> <RefSynopsisDiv><Title>Synopsis</Title> <Synopsis> (node-list-filter-out-pis nodelist) </Synopsis> </RefSynopsisDiv> <RefSect1><Title>Description</Title> <para> Returns a node list containing all the nodes from <literal>nodelist</literal> that are not PIs. The order of nodes in the node list is preserved.</para> </RefSect1> <RefSect1><Title>Author</Title> <para> Norman Walsh, <ndw@nwalsh.com> </para> </RefSect1> <RefSect1><Title>Source Code</Title> <ProgramListing> (define (node-list-filter-out-pis nodelist) ;; Returns the nodelist with all PIs removed (let loop ((result (empty-node-list)) (nl nodelist)) (if (node-list-empty? nl) result (if (equal? (node-property 'class-name (node-list-first nl)) 'pi) (loop result (node-list-rest nl)) (loop (node-list result (node-list-first nl)) (node-list-rest nl)))))) </ProgramListing> </RefSect1> </RefEntry>