[xep-support] Confusion with FO tables and XEP

From: Jim Melton (jim.melton@acm.org)
Date: Thu Jun 19 2003 - 19:59:52 PDT

  • Next message: David Tolpin: "Re: [xep-support] Confusion with FO tables and XEP"

    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@oracle.com
    1930 Viscounti Drive Standards email: mailto:jim.melton@acm.org
    Sandy, UT 84093-1063 Personal email: mailto:jim@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@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



    This archive was generated by hypermail 2.1.5 : Fri Jun 20 2003 - 00:02:08 PDT