DSSSL for HTML 4.0 tables

From dssslist-owner@mulberrytech.com  Fri Oct 24 17:32:16 1997
Date: Fri, 24 Oct 1997 18:24:01 -0400
From: Chris Maden <crism@ora.com>
To: dssslist@mulberrytech.com
Subject: Re: An open challenge: HTML 4.0 tables

   -----------------------------------------------------------------

The quasi-final version of the stylesheet is available at
<URL:http://www.oreilly.com/people/staff/crism/dsssl/htmltbl.zip>,
which contains the stylesheet and two HTML test files, after
1997-10-25T04:00:00Z (midnight tonight EDT).

;; DSSSL stylesheet for HTML 4.0 (97-09-17 draft) tables
;; Created for the W3C XML WG by Christopher R. Maden of O'Reilly and
;;    Associates (crism@oreilly.com).
;; The cellpadding attribute needs to be handled by cell contents.

An example is provided:

;; The construction rule for P should be deleted when this is included
;;    in the context of a full HTML stylesheet; it is present only to
;;    handle content of sample tables and to give an example of
;;    handling cellpadding.

This stylesheet is only intended to handle table elements.

;; This does not handle the SPAN attribute on the COL element, as Jade
;;    appears to crash on n-columns-spanned: on a table-column.

<bug-report>
James, if you download the aforementioned zip and uncomment the
n-columns-spanned section of html40.dsl, you should see the crashing
bug.  With Jade 1.0 on Solaris 2.4, a seg fault happens as soon as
<col span="2"> is reached.
</bug-report>

;; Assumes only LTR content and single TBODYs.

I'll probably add this at some point.  If you actually need it, ask,
and it'll happen sooner.

;; Assumes that specifications are in pixels, and can be converted to
;;    points at one point per pixel.

The reason for this is that <TABLE WIDTH="50%"> means that the table
should be 50% of the current width.  I'm not sure how to determine
that.  The HTML 3.2 stylesheet modified by Nigel Software AG relies on
a variable that is also used to create the simple-page-sequence; does
anyone know how to determine the currently available width?  If that's
known, than I can figure out the table width and then the width of
columns that use percentages.

;; WIDTH and HEIGHT set directly on table cells is not supported.

This is a kind of gross HTML practice, and DSSSL doesn't lend itself
well to it.

A note of caution: test2.rtf contains background-color tests.  It has
three 256-color tables, which hang Word 97 on a 32 MB PC.  Use at your
own risk.  (It will open the file so you can see the 16-color table,
but don't expect to do anything other than Ctrl-Alt-Del after opening
it.)

Note:
You'll need some ISO/IEC 10179 procedures that aren't implemented in
Jade.  If you don't already have them, get
<URL:http://www.oreilly.com/people/staff/crism/sgml2mif/iso10179.dsl>.
See <URL:http://www.oreilly.com/people/staff/crism/dsssl/htmltbl.html> for more
info.

-Chris
-- 
<!NOTATION SGML.Geek PUBLIC "-//Anonymous//NOTATION SGML Geek//EN">
<!ENTITY crism PUBLIC "-//O'Reilly//NONSGML Christopher R. Maden//EN"
"<URL>http://www.oreilly.com/people/staff/crism/ <TEL>+1.617.499.7487
<USMAIL>90 Sherman Street, Cambridge, MA 02140 USA" NDATA SGML.Geek>