Re: CSS positioning (Re: colours for bullets)

[Douglas Rand:]

| I think the entire problem here is the one Gavin alluded to.  The
| document structure and the rendering do not have to be one to one
| related.  For example, I definitely format floating tables the way
| you've described, but the document structure still has a para, a table
| (not contained in the para) and some following text.  That's the
| document structure.  The rendering structure has a para with a
| floating element pointer in it and the table is held separately.  The
| two just aren't related.

Bingo.

Over here is the structure of the document; over there is the
structure of the layout objects.  A DSSSL stylesheet defines a
function that takes the specification of the first thing as its input
and produces the specification of the second thing as its output.
This lets you arrange the order of the output objects any way you
want.  As Gavin diagrammed it:

|   document tree  --+----> page layout flow --> rendered representation
|                    /
|   stylesheet     -+

One of the major realizations that DSSSL forces on you (because
otherwise you can't learn to use it at all) is that document objects
(sections, lists, paragraphs) do not map isomorphically to layout
objects (pages, columns, paragraphs).  The two are related closely
enough that you can go a long time without realizing this distinction
until you hit a case where the simple paradigm breaks down.
Rearranging your mental model of what's going on can be quite painful
-- it was for me -- but if you can't get past this hurdle, the complex
cases are intractable.

Jon

Received on Wednesday, 16 April 1997 11:16:14 UTC