Version 1.29 of the DocBook DSSSL Stylesheets is broken

Subject: Version 1.29 of the DocBook DSSSL Stylesheets is broken
From: Norman Walsh <ndw@xxxxxxxxxx>
Date: Tue, 15 Dec 1998 15:42:26 -0500
Aurgh!

Version 1.29 is broken.  If you use nochunks, you'll get a nasty
error.  The fix is to replace the (chunk?) function with one
that actually works (see below).

I'll post 1.30 on Thursday.

(define (chunk? #!optional (nd (current-node)))
  ;; 1. The (sgml-root-element) is always a chunk.
  ;; 2. If nochunks is #t or the dbhtml PI on the root element 
  ;;    specifies chunk='no', then the root element is the only
  ;;    chunk.
  ;; 3. Otherwise, elements in the chunk-element-list are chunks
  ;;    unless they're combined with their parent.
  ;; 4. Except for bibliographys, which are only chunks if they
  ;;    occur in book.
  ;;    
  (let ((maybechunk (or (not (equal? (gi nd) (normalize "bibliography")))
			(equal? (gi (parent nd)) (normalize "book")))))
    (if (node-list=? nd (sgml-root-element))
	#t
	(if (or nochunks
		(equal? (dbhtml-value (sgml-root-element) "chunk") "no"))
	    #f
	    (if (member (gi nd) (chunk-element-list))
		(if (combined-chunk? nd)
		    #f
		    maybechunk)
		#f)))))

                                        Cheers,
                                          norm
-- 
Norman Walsh <ndw@xxxxxxxxxx>      | It is good to have an end to
http://nwalsh.com/                 | journey toward; but it is the
                                   | journey that matters, in the
                                   | end.--Ursula K. Le Guin


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread