Re: (dsssl) Fixed-size cells in tables?

Subject: Re: (dsssl) Fixed-size cells in tables?
From: Oisin McGuinness <oisin@xxxxxxxx>
Date: Mon, 28 Apr 2003 10:28:01 -0400

Dear Tim

You wrote:
>>Is there no way in Hell to specify the height of a table cell in
>>OpenJade?  Am I doomed to do Microsoft Word Mail Merge?

Some years back, for an SGML (ArborText Publisher fixed DTD) to RTF (for Word)
conversion project, I came across this very issue, but with rows.  (We had
documents that produced some empty boxes for putting "stamps" in; Word collapsed these
unless the heights were specified explicitly.) There is
a way to specify in RTF how to set table heights, but, as you observe, no
convenient way to do this in Jade. I  implemented a patch to the RtfFOTBuilder.cxx
file in the source, and submitted it to James Clark, and discussed it on this mailing
list back in late 1997 or early 1998... I guess it never made it into the official source.
Clearly it is useful enough that you should submit this to the OpenJade maintainers.

Anyway, this involves some patches to RtfFOTBuilder.cxx, rebuilding Jade,
and then using a new characteristic in your .dsl. Here is an excerpt from my email
to Clark:

2. table-row-height

   Description:
   This is a length characteristic, to be used for the table-row object, which
   defaults to 0. If set to a non-zero length, then the table-row will have this
   exact height.

   Declaration in .dsl:
        (declare-characteristic table-row-height
                "UNREGISTERED::James Clark//Characteristic::table-row-height" 0pt)

   Usage in dsl:
        (make table-row
              ;; Used to assign header designations.
              label: 'tableheadrow
              ;; Row-height requires a Jade extension,
              table-row-height: (get-row-height)
              (process-children))
   and get-row-height (for my Publisher), extracts the "rht" attribute of tablerow,
   which  is given as a length, e.g., rht="0.78in".

   Implementation Note:
        The RTF command is \trrhN , where N is the number of twips.
        Since there is no explicit row structure in the backend, and since cells_[i],
        seems to be the ith-row, I added a field to the Cell structure, and
        set it when building a cell. This might not be the most elegant thing to do,
        but it works...
      

I will send you the full details by separate email so as not to clutter the list.
(I have other modifications that have been discussed on the list, anyone interested?)

Note that the diffs in my separate email were made against jade1_2 (if I recall
correctly), you may have to do some manual work for OpenJade integration;
I haven't kept up with the technology.

Oisin McGuinness

SMBC Capital Markets
277 Park Avenue
New York NY 10172
USA

phone: 1-212-224-4913, email: oisin@xxxxxxxxxxx



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

Current Thread