[albert-cvs] CVS: albert/spres r-db.lisp,1.22,1.23
Status: Alpha
Brought to you by:
stig
From: Stig E S. <st...@us...> - 2003-10-27 17:39:37
|
Update of /cvsroot/albert/albert/spres In directory sc8-pr-cvs1:/tmp/cvs-serv31589/spres Modified Files: r-db.lisp Log Message: added code to print <book></book> and entities as header+footer functions Index: r-db.lisp =================================================================== RCS file: /cvsroot/albert/albert/spres/r-db.lisp,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** r-db.lisp 27 Oct 2003 01:04:06 -0000 1.22 --- r-db.lisp 27 Oct 2003 16:43:22 -0000 1.23 *************** *** 39,43 **** ! (defmethod present-document ((doc docbook-document)) ;; (when-verbose --- 39,43 ---- ! (defmethod present-document ((doc docbook-document) &key content-prefix content-suffix) ;; (when-verbose *************** *** 70,75 **** :if-exists :new-version :if-does-not-exist :create) (write-string (get-output-stream-string (document.content doc)) ! out-stream)) #|| --- 70,90 ---- :if-exists :new-version :if-does-not-exist :create) + + (cond ((stringp content-prefix) + (write-string content-prefix out-stream)) + ((functionp content-prefix) + (funcall content-prefix doc out-stream)) + (t nil)) + (write-string (get-output-stream-string (document.content doc)) ! out-stream) ! ! (cond ((stringp content-suffix) ! (write-string content-suffix out-stream)) ! ((functionp content-suffix) ! (funcall content-suffix doc out-stream)) ! (t nil)) ! ) ! #|| *************** *** 78,82 **** (albert-info "Wrote docbook book to ~a" (namestring out-file)))) ||# ! )) --- 93,97 ---- (albert-info "Wrote docbook book to ~a" (namestring out-file)))) ||# ! doc)) *************** *** 666,668 **** (present-with-content-manager package doc objs) (put doc " </refsect1>" (eol)))) ! \ No newline at end of file --- 681,713 ---- (present-with-content-manager package doc objs) (put doc " </refsect1>" (eol)))) ! ! (defmethod present-book-header ((doc docbook-document) stream) ! ! (put stream "<?xml version='1.0'?>" (eol)) ! (put stream "<!DOCTYPE book PUBLIC \"-//Norman Walsh//DTD DocBk XML V3.1.7//EN\" ! \"" (db-get-dtd) "\" " ) ! ! (when (and ?file-table (> (hash-table-count ?file-table) 0)) ! ! (put stream "[" (eol)) ! ! (loop for val being the hash-values of ?file-table ! for fname = (file-info-to-fname val) ! do ! (put stream ! "<!ENTITY " ! "fileX" (make-valid-entity fname) " " ! "SYSTEM \"" fname (get-file-extension doc) ! "\">" (eol))) ! (put stream "]")) ! ! (put stream ">" (eol)) ! ! (put stream "<book>" (eol)) ! ! doc) ! ! ! (defmethod present-book-footer ((doc docbook-document) actual-stream) ! (format actual-stream "~&</book>~%") ! doc) |