2 <!DOCTYPE example PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
3 <example><title>A DSSSL Function</title><programlisting>
\r
4 (define (node-list-filter-by-gi nodelist gilist)
\r
5 ;; Returns the node-list that contains every element of the original
\r
6 ;; nodelist whose gi is in gilist
\r
7 (let loop ((result (empty-node-list)) (nl nodelist))
\r
8 (if (node-list-empty? nl)
\r
10 (if (member (gi (node-list-first nl)) gilist)
\r
11 (loop (node-list result (node-list-first nl))
\r
12 (node-list-rest nl))
\r
13 (loop result (node-list-rest nl))))))
\r
14 </programlisting></example>