Subject: Re: AW: CALS Table to HTML Table via The DSSSList Digest V3 #197 From: Tony Graham <tgraham@xxxxxxxxxxxxxxxx> Date: Mon, 25 Oct 1999 13:28:30 -0400 (EST) |
At 25 Oct 1999 09:54 +0200, Roland Schopf wrote: > I'm using the Docbook Stylesheets for exactly the same purpose. > My question now is what modules are necessary? > > If I include all modules, I get a lot of warnings and errors like > "undefined variable". > I already found the answer in the dssslist archive, but when I only > include the few modules mentioned there I do not get any resonable > result. > > Any suggestions? Simplistic CALS to HTML 3.2 procedures and element construction rules plucked from an (old) existing stylesheet and untested as a standalone module: ------------------------------------------------------------ (define (make-table #!optional (children (process-children))) (let* ((frameattr (attribute-string "FRAME")) (border (if (and frameattr (string=? frameattr "NONE")) '(("BORDER" "0")) '(("BORDER" "1")))) (width (if (and (attribute-string "PGWIDE") (equal? (attribute-string "PGWIDE") "1")) '(("WIDTH" "100%")) '()))) (make element gi: "table" attributes: (append border width) children))) (define (make-td #!optional (children (process-children))) (make element gi: "td" children)) (define (make-th #!optional (children (process-children))) (make element gi: "th" children)) (define (make-tr #!optional (children (process-children))) (make element gi: "tr" children)) (element TABLE (make-table)) (element TGROUP (process-children)) (element COLSPEC (empty-sosofo)) (element TBODY (process-children)) (element ROW (make-tr)) (element (THEAD ROW ENTRY) (let* ((morerows (attribute-string "MOREROWS")) (rowspan (if morerows (list (list "rowspan" (number->string (+ (string->number morerows) 1)))) '())) (namest (attribute-string "NAMEST")) (nameend (attribute-string "NAMEEND")) (colspan (if nameend (list (list "colspan" (number->string (+ 1 (- (string->number (attribute-string "COLNUM" (node-list-first (select-elements (children (ancestor "TGROUP" (current-node))) (list "COLSPEC" (list "COLNAME" nameend)))))) (string->number (attribute-string "COLNUM" (node-list-first (select-elements (children (ancestor "TGROUP" (current-node))) (list "COLSPEC" (list "COLNAME" namest))))))))))) '()))) (make element gi: "th" attributes: (append rowspan colspan)))) (element ENTRY (let* ((morerows (attribute-string "MOREROWS")) (rowspan (if morerows (list (list "rowspan" (number->string (+ (string->number morerows) 1)))) '())) (namest (attribute-string "NAMEST")) (nameend (attribute-string "NAMEEND")) (colspan (if nameend (list (list "colspan" (number->string (+ 1 (- (string->number (attribute-string "COLNUM" (node-list-first (select-elements (children (ancestor "TGROUP" (current-node))) (list "COLSPEC" (list "COLNAME" nameend)))))) (string->number (attribute-string "COLNUM" (node-list-first (select-elements (children (ancestor "TGROUP" (current-node))) (list "COLSPEC" (list "COLNAME" namest))))))))))) '()))) (make element gi: "td" attributes: (append rowspan colspan)))) ------------------------------------------------------------ Regards, Tony Graham ====================================================================== Tony Graham mailto:tgraham@xxxxxxxxxxxxxxxx Mulberry Technologies, Inc. http://www.mulberrytech.com 17 West Jefferson Street Direct Phone: 301/315-9632 Suite 207 Phone: 301/315-9631 Rockville, MD 20850 Fax: 301/315-8285 ---------------------------------------------------------------------- Mulberry Technologies: A Consultancy Specializing in SGML and XML ====================================================================== DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: AW: CALS Table to HTML Table vi, Norman Walsh | Thread | AW: CALS Table to HTML Table via Th, Roland Schopf |
AW: AW: CALS Table to HTML Table vi, Roland Schopf | Date | Re: AW: AW: CALS Table to HTML Tabl, Norman Walsh |
Month |