RE: (dsssl) Setting font size for header and footer

Subject: RE: (dsssl) Setting font size for header and footer
From: Didier PH Martin <martind@xxxxxxxxxxxxx>
Date: Thu, 20 Mar 2003 09:17:43 -0500
Hi Tim,

Tim said:
I looked in the DSSSL spec.  "literal" does not accept "font-size:",
so far as I can see.  "make paragraph" does, and I tried it, but that
put three paragraph breaks into my header, which is Really Wrong.
"make character" does allow font-size:, but I don't see how to use it.....

Didier replies:
Tim, you can use an aggregator flow object such as a sequence or a
display-group flow object. Both will provide inherited properties to their
contained flow objects. In the case of the display-group object, this latter
behaves like a block (like in css). In the case of the sequence object,
since it is not a displayed area, it is used mainly to provide default
properties to the contained objects. Here is a snippet of the specs about
the sequence flow object:

"A sequence flow object is useful for specifying inherited characteristics.
For example, a sequence flow
object with a specification of a font-posture: characteristic may be
constructed for an emphasized phrase element
in a paragraph."

So, the thing to remember here is:
If you need to provide default properties to a collection of objects and
want them to behave as a single visual entity, use the display-group flow
object (ref: http://dsssl.netfolder.com/display-object.htm).

If you need to provide default properties to a collection of objects but do
not want to have them behave as a display area (i.e a block like in CSS)
then use the sequence flow object.

In other words.
you basically have two main objects:
1) objects that behaves like a block (i.e. a paragraph, a display-group, a
page-sequence, etc...). they have a border, etc... they are the equivalent
of the CSS block objects. The whole is more than the parts and it has its
own visual characteristics. 
2) inline objects. These object can only be contained inside a display area.
As a whole they do not have visual characteristics. 

You have two ways to aggregate a collection of flow objects and have them to
inherit the same properties (i.e. the properties of the aggregator)
1) display-group flow objects. The whole (i.e. the display-group object) has
visual characteristics. Thus the whole is more than the parts.
2) sequence flow objects. The whole has no visual characteristics and it
needs to be contained into another object having ones (like for instance a
paragraph or a display-group object).
In both cases, the contained objects inherit default properties from the
aggregator.

If you look at the article I wrote about display-group objects you can see
that this kind of object has visual characteristics. Hence, you create a new
visual object by aggregating other ones. The aggregator has also its own
visual characteristics. In the case of the sequence flow object, it doesn't.
It just provide a set of properties to be inherited by the contained object.

In the specs, you'll often encounter the term "port". Think of that gizmo as
an attachment device. If we say that an object has a single port it means
that all objects attached to it are so by this unique port (i.e.
attachment). You can see that in the figure I included in the article where
the display-group object is illustrated with a single port used to "attach"
the aggregated object. A port is simply an attachment device to stitch the
flow object together. Both the display-group and the sequence objects have a
single port used to attach the flow objects. An other way to think of a
collection is to think of a list. The display-group list is a visual object
having its own visual characteristics, the sequence list is a..list and do
not have its own visual characteristics. So, display-group creates a new
visual object from other ones and sequence is only a list of flow objects.
In both cases, the list container provides a set of default properties (i.e.
characteristics) inherited by the list members.

Hope this will help
Cheers
Didier PH Martin
Http://www.didier-martin.com




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

Current Thread