Re: <legalnotice>

Subject: Re: <legalnotice>
From: Norman Walsh <ndw@xxxxxxxxxx>
Date: Wed, 17 Nov 1999 06:37:25 -0500
/ Bek Oberin <gossamer@xxxxxxxxxxxxxx> was heard to say:
| It's not that it's forgotten, it's in the wrong style.  I want it
| to come out all in small HTML instead of normal sized HTML.

There's a great big ugly procedure in dbttlpg.dsl that does legal
notices:

(define (titlepage-recto-legalnotice #!optional (node (current-node)))
  (let ((notices     (select-elements 
		      (children (parent node))
		      (normalize "legalnotice")))
	(copyrights  (select-elements 
		      (children (parent node))
		      (normalize "copyright"))))
    (if (and %generate-legalnotice-link%
	     (not nochunks))
	;; Divert the contents of legal to another file.  It will be xref'd
	;; from the Copyright.
	(if (first-sibling? node)
	    (make sequence
	      (make entity
		system-id: (html-entity-file
			    ($legalnotice-link-file$ node))
		(if %html-pubid%
		    (make document-type
		      name: "HTML"
		      public-id: %html-pubid%)
		    (empty-sosofo))
		(make element gi: "HTML"
		      (make element gi: "HEAD"
			    ($standard-html-header$))
		      (make element gi: "BODY" 
			    attributes: %body-attr%
			    (header-navigation node)
			    ($semiformal-object$)
			    (with-mode legal-notice-link-mode
			      (process-node-list (node-list-rest notices)))
			    (footer-navigation node))))
	      (if (node-list-empty? copyrights)
		  (make element gi: "A"
			attributes: (list 
				     (list "HREF" 
					   ($legalnotice-link-file$
					    node)))
			(literal (gentext-element-name node)))
		  (empty-sosofo)))
	    (empty-sosofo))
	($semiformal-object$))))

What it boils down to is that $semiformal-object$ processes legal notices.
So, change references to $semiformal-object$ in that procedure (in your
customization layer) to $legalnotice-object$ (or whatever name you wish)
and define it. Perhaps like so:

(define ($legalnotice-object$)
  ;; semiformal means optional title...
  (make element gi: "DIV"
        attributes: (list (list "class" (gi)))
  (make element gi: "FONT"
        attributes: (list (list "size" "-1"))
  (if (node-list-empty? (select-elements (children (current-node)) 
					 (normalize "title")))
      ($informal-object$)
      ($formal-object$)))
))

If you need/want even more legal HTML, you'll have to extend the
expansion and put the font size changes deeper.

Or, perhaps the easiest way to handle this problem is simply to add
a CSS stylesheet to the HTML:

DIV.LEGALNOTICE { font-size: -2; }

                                        Cheers,
                                          norm

-- 
Norman Walsh <ndw@xxxxxxxxxx>      | If you understand: things are as
http://nwalsh.com/                 | they are. If you do not
                                   | understand: things are as they are.


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


Current Thread