[xep-support] Confusion with FO tables and XEP

Jim Melton jim.melton at acm.org
Thu Jun 19 19:59:52 PDT 2003


Gentlepeople,

I'm apparently being dense again, so I beg your indulgence for the 
following questions.

I am currently using XEP version 3.4, but I have not seen any indication 
that 3.5 or 3.5.1 has made any changes in this area.

SUMMARY OF PROBLEM 1) The (vertical) distance between the paragraph 
preceding a table and the actual caption of the table does not change, no 
matter what I have tried.  For reasons of document usability, I really 
would like to have a bit of space between the preceding text and the caption.

The following snippet of XSL FO illustrates the situation.  (I have 
inserted some linebreaks for clarity, but the snippets are otherwise 
exactly what appears in my .fo file.)

=========== BEGIN XSL FO SNIPPET ================

<fo:block space-before.optimum="8pt" space-before.minimum="8pt" 
space-before.maximum="28pt" hyphenate="true">
A CLI diagnostics area comprises the header fields specified under "Header 
fields"
<fo:basic-link internal-destination="'cli_diagareafields'" 
color="#000070"><fo:inline keep-together.within-line="always">Table 
1,</fo:inline> "Fields in SQL/CLI diagnostics areas"</fo:basic-link>, as 
well as zero (0) or more status records, each of which
comprises the fields specified under "Status record fields" in that same 
table.
</fo:block>

<fo:table-and-caption><fo:table-caption 
keep-with-next.within-page="always"><fo:block space-before.minimum="15pt"
space-before.maximum="20pt" space-after.minimum="6pt" 
space-after.maximum="9pt" border-style="none" text-align="center"
font-weight="bold" id="'cli_diagareafields'">Table 1 â€" Fields in SQL/CLI 
diagnostics areas</fo:block></fo:table-caption>

<fo:table width="inherit" table-layout="fixed" border-collapse="separate" 
border-color="black"
border-style="solid" border-width="0.5pt">

<fo:table-column column-number="1" column-width="2.5in"/>

<fo:table-column column-number="2" column-width="4.0in"/><fo:table-header 
keep-with-next.within-page="always">

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" font-weight="bold"
number-columns-spanned="1" relative-align="baseline"><fo:block> Field 
</fo:block></fo:table-cell>

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" font-weight="bold"
number-columns-spanned="1" relative-align="baseline"><fo:block> Data type 
</fo:block></fo:table-cell>

</fo:table-header>

=========== END XSL FO SNIPPET ================

Even though I have specified that the block containing the caption has a 
minimum space-before of 15pt, the actual difference appears to be very 
nearly zero.  I have tried various formulations without any observable change.

I'm sure there's something obvious that I'm overlooking, but I simply can't 
see it now.  Your help would be greatly appreciated!


SUMMARY OF PROBLEM 2) In the first table in my document, the left margin of 
text in the table cells is exactly what I would like them all to be.  In 
the second and third tables, the left margin within table cells (all of 
them!) has been increased by something on the order of 20 or 30 points.  In 
the fourth and fifth tables, the margins are back to "expected".  I have 
not checked all of my tables (this document has 52 tables), but a random 
sampling suggests no particular pattern.  The following two snippets are 
taken from the first and second tables, respectively:

=========== BEGIN FIRST XSL FO SNIPPET ================

<fo:block space-before.optimum="8pt" space-before.minimum="8pt" 
space-before.maximum="28pt" hyphenate="true">
A CLI diagnostics area comprises the header fields specified under "Header 
fields"
<fo:basic-link internal-destination="'cli_diagareafields'" 
color="#000070"><fo:inline keep-together.within-line="always">Table 
1,</fo:inline> "Fields in SQL/CLI diagnostics areas"</fo:basic-link>, as 
well as zero (0) or more status records, each of which
comprises the fields specified under "Status record fields" in that same 
table.
</fo:block>

<fo:table-and-caption>

<fo:table-caption keep-with-next.within-page="always"><fo:block 
space-before.minimum="15pt"
space-before.maximum="20pt" space-after.minimum="6pt" 
space-after.maximum="9pt" border-style="none" text-align="center"
font-weight="bold" id="'cli_diagareafields'">Table 1 - Fields in SQL/CLI 
diagnostics areas</fo:block></fo:table-caption>

<fo:table width="inherit" table-layout="fixed" border-collapse="separate" 
border-color="black"
border-style="solid" border-width="0.5pt">

<fo:table-column column-number="1" column-width="2.5in"/>

<fo:table-column column-number="2" column-width="4.0in"/>

<fo:table-header keep-with-next.within-page="always">

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" font-weight="bold"
number-columns-spanned="1" relative-align="baseline"><fo:block> Field 
</fo:block></fo:table-cell>

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" font-weight="bold"
number-columns-spanned="1" relative-align="baseline"><fo:block> Data type 
</fo:block></fo:table-cell>

</fo:table-header>

<fo:table-body>

<fo:table-row keep-together.within-page="always">

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" number-columns-spanned="2"
relative-align="baseline"><fo:block hyphenate="true"><fo:inline 
font-weight="bold">Header fields</fo:inline></fo:block>
</fo:table-cell>

</fo:table-row>

=========== END FIRST XSL FO SNIPPET ================

=========== BEGIN SECOND XSL FO SNIPPET ================

<fo:table-and-caption>

<fo:table-caption keep-with-next.within-page="always"><fo:block 
space-before.minimum="15pt"
space-before.maximum="20pt" space-after.minimum="6pt" 
space-after.maximum="9pt" border-style="none" text-align="center"
font-weight="bold" id="'cli_supported_conventions'">Table 2 - Supported 
calling conventions of SQL/CLI routines by
language</fo:block></fo:table-caption>

<fo:table width="inherit" table-layout="fixed" border-collapse="separate" 
border-color="black" border-style="solid"
border-width="0.5pt">

<fo:table-column column-number="1" column-width="2.4in"/>
<fo:table-column column-number="2" column-width="1.0in"/>
<fo:table-column column-number="3" column-width="3.1in"/>

<fo:table-header keep-with-next.within-page="always">
<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" font-weight="bold"
number-columns-spanned="1" relative-align="baseline"><fo:block> Language 
</fo:block></fo:table-cell>

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" font-weight="bold"
number-columns-spanned="1" relative-align="baseline"><fo:block> By-value 
</fo:block></fo:table-cell>

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" font-weight="bold"
number-columns-spanned="1" relative-align="baseline"><fo:block> 
By-reference </fo:block></fo:table-cell>

</fo:table-header>

<fo:table-body>

<fo:table-row keep-together.within-page="always">
<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" number-columns-spanned="1"
relative-align="baseline"><fo:block hyphenate="true"> Ada (ISO 8652) 
</fo:block></fo:table-cell>

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" number-columns-spanned="1"
relative-align="baseline"><fo:block hyphenate="true"> Optional 
</fo:block></fo:table-cell>

<fo:table-cell border-color="black" border-style="solid" 
border-width="0.5pt" padding="5pt" number-columns-spanned="1"
relative-align="baseline"><fo:block hyphenate="true"> Required 
</fo:block></fo:table-cell>

</fo:table-row>

=========== END SECOND XSL FO SNIPPET ================


SUMMARY OF PROBLEM 3) I would like for all of my tables' left border to be 
aligned with my pages' left margin.  Many of my tables are aligned in this 
way, but others are not.  There does not appear to be any pattern related 
to the tables immediately following ordinary (unindented) text or following 
(indented) numbered rules or anything else that I can find.  I have not 
included snippets of FO code for this problem because I have no idea what 
would be appropriate to provide.


I have not attached the XSL FO file itself because it is rather large 
(about 4.5 MB), but I will be happy to supply it upon request.


Any assistance will be greatly appreciated, even if it is just "RTFM, 
starting at section x.y".

Thanks!
    Jim
========================================================================
Jim Melton --- Editor of ISO/IEC 9075-* (SQL)     Phone: +1.801.942.0144
Oracle Corporation            Oracle Email: mailto:jim.melton at oracle.com
1930 Viscounti Drive          Standards email: mailto:jim.melton at acm.org
Sandy, UT 84093-1063              Personal email: mailto:jim at melton.name
USA                                                Fax : +1.801.942.3345
========================================================================
=  Facts are facts.  However, any opinions expressed are the opinions  =
=  only of myself and may or may not reflect the opinions of anybody   =
=  else with whom I may or may not have discussed the issues at hand.  =
========================================================================
-------------------
(*) To unsubscribe, send a message with words 'unsubscribe xep-support'
in the body of the message to majordomo at renderx.com from the address
you are subscribed from.
(*) By using the Service, you expressly agree to these Terms of Service http://www.renderx.com/tos.html



More information about the Xep-support mailing list