;;; cd entry subclauses.
Show source file in small font In cd-stuff: Link from cd-number to it's cross reference table entry 6.2. A CD archive
(define (cd-number n) (tag-data 'cd-number (as-string n))) Show source file in small font In cd-stuff: Link from cd-artist to it's cross reference table entry 6.2. A CD archive
(define (cd-artist a) (tag-data 'cd-artist (as-string a))) Show source file in small font In cd-stuff: Link from cd-title to it's cross reference table entry 6.2. A CD archive
(define (cd-title t) (tag-data 'cd-title (as-string t))) Show source file in small font In cd-stuff: Link from cd-playing-time to it's cross reference table entry 6.2. A CD archive
(define (cd-playing-time min sec) (tag-data 'cd-playing-time (string-append (as-string min) ":" (as-string sec)))) ;; Present a cd entry Show source file in small font In cd-stuff: Link from cd-entry to it's cross reference table entry 6.2. A CD archive
(define (cd-entry . subentries) (let ((number ; A linked program source marker to section 6.2:
'A CD archive'
Mark char: a (defaulted-get-prop 'cd-number subentries "?")) (artist (defaulted-get-prop 'cd-artist subentries "No artist")) (title (defaulted-get-prop 'cd-title subentries "No title")) (play-time (defaulted-get-prop 'cd-playing-time subentries "Unknown playing time")) ) (table 'border "2" ; A linked program source marker to section 6.2:
'A CD archive'
Mark char: b (tr (tdb "Number") (td number)) (tr (tdb "Artist") (td artist)) (tr (tdb "Title") (td title)) (tr (tdb "Playing time") (td play-time)) ))) ;; Present a cd archive Show source file in small font In cd-stuff: Link from cd-archive to it's cross reference table entry 6.2. A CD archive
(define (cd-archive . cd-entries) (html (head (title page-title)) (body (h1 page-title) ; A linked program source marker to section 6.2:
'A CD archive'
Mark char: d (map spacy cd-entries) ; A linked program source marker to section 6.2:
'A CD archive'
Mark char: e ) ) ) ;;; Other definitions ; Tag string-data with tag Show source file in small font In cd-stuff: Link from tag-data to it's cross reference table entry 6.2. A CD archive
(define (tag-data tag string-data) (list (as-symbol tag) string-data)) Show source file in small font In cd-stuff: Link from spacy to it's cross reference table entry 
(define (spacy x) (list x (p))) Show source file in small font In cd-stuff: Link from tdb to it's cross reference table entry 
(define (tdb x) (td (b x)))