Table-part flow object area distinctions

Subject: Table-part flow object area distinctions
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxx>
Date: Fri, 14 Nov 1997 08:19:37 -0500
Can I please get some opinions on the expected behaviour of DSSSL with
respect to table-parts?

Reviewing the standard:

<excerpt>
A table-part flow object is allowed only within a table flow object. A
table-part flow object has three ports: 

	o	the principal port, which is used for the table body.
	o	header, which is used for the table header.
	o	footer, which is used for the table footer.

The flow objects that are allowed in the ports of a table-part flow object
shall be only those explicitly specified herein. Flow objects of class
table-column are allowed in the principal port; they shall occur before
flow objects of any other class. All ports shall accept flow objects of
class table-row and table-cell.

The result of formatting a table-part flow object is a sequence of areas.
Each area consists of the content of the header port (unless omitted
because of the table-part-omit-middle-header?: characteristic), followed by
some portion of the content of the principal port, followed by the content
of the footer port (unless omitted because of the
table-part-omit-middle-footer?: characteristic).  Each row in the principal
port occurs exactly once, and the order of the rows shall be preserved.
The rows in the header and footer ports shall be replicated for each result
area.
</excerpt>

The particular characteristic I'm working with is "keep":

<excerpt>
keep: is one of the following: 
  - the symbol page indicating that the areas produced by the flow object
shall lie within the same page; in this case, the flow object shall have an
ancestor flow object of class page-sequence.
</excerpt>

My problem:

I am creating a table with a table-part that defines header rows and cells,
then multiple table-parts with principal port rows and cells.

My goal in using "keep: 'page" is to not allow any one table-part to break
over a page boundary, while not treating the concatenation of table-parts
as a whole table body.

When I use "keep: 'page", JADE with the RTF back end is breaking to a new
page at the beginning of _all_ table-parts, not just the one table-part
that happens to cross a page boundary.

I cannot figure out if the software is at fault, or my expectations,
because I can see arguments for both:

<argument type="original">
Since each table-part produces separate areas, the keep: characteristic
applies to each table-part area independently, therefore requiring body
parts that fit on a page to stay on the page and only those body parts in
the table that cross a page boundary to jump to the start of a new page
(thus requiring the necessary header parts to be displayed).
</argument>

<argument type="counter">
Since each table-part is a container for labelled and unlabelled sosofos
targeted for the presentation of the entire table, the "keep:"
characteristic is applied to the resulting unlabelled row areas in the
table as a whole, thus applying to the entire table body as a whole.  The
current result in JADE that labelling rows as header rows in a part has the
result of defining header rows for the entire table supports this argument.
</argument>

I am hoping the software is at fault, because I can't see any other way to
group sets of rows of a table on pages without breaking the groups.

Can anyone refute either my original argument or my counter argument?
Where am I going wrong?

Thanks ................ Ken

--
G. Ken Holman            mailto:gkholman@xxxxxxxxxxxxxx
Crane Softwrights Ltd.  http://www.CraneSoftwrights.com
1605 Mardick Court, Box 266,         V: +1(613)489-0999
Kars, Ontario CANADA K0A-2E0         F: +1(613)489-0995
PGP Privacy: http://www.cyberus.ca/~holman/gkholman.pgp
Training:  http://www.CraneSoftwrights.com/schedule.htm

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


Current Thread