docbook-apps

  • 1.  Re: [docbook-apps] Landscape tables across multiple pages

    Posted 11-05-2008 18:17
    Hi,
    The easiest way is to use the Antenna House processor and put the table
    inside an fo:block-container with its reference-orientation="90". Antenna
    House has implemented an extension to the standard to flow such
    block-containers onto multiple pages. In fact, the current DocBook
    stylesheets do that already, in the template named 'table.container' in
    fo/table.xsl. So just setting orient="land" on a table should do it.

    If AH is not feasible, then PSMI is the only way I know to do it. It is not
    implemented in the DocBook stylesheets, so you'll have to implement it
    yourself. Because PSMI breaks a flow into multiple page sequences, it does
    require closing all open fo elements in the flow before the table. That
    would require additional customization because of the use of fo:block
    nesting around sections. You would need to customize the template with
    match="section" in fo/sections.xsl, removing the section block wrapper.
    When you do that, however, you lose the ability to place attributes on the
    container block, those attributes coming from section.level1.properties et
    al.

    Bob Stayton
    Sagehill Enterprises
    bobs@sagehill.net


    ----- Original Message -----
    From: "Paul Suckling" <paul.suckling@gmail.com>
    To: <docbook-apps@lists.oasis-open.org>
    Sent: Wednesday, November 05, 2008 6:42 AM
    Subject: [docbook-apps] Landscape tables across multiple pages


    >I have got some long wide tables in my DocBook article. I would like
    > to either place them on a series of landscape pages, or keep them on a
    > portrait page but have them rotated. I found a solution which does the
    > latter but not adequately: The tables don't split across multiple
    > pages.
    >
    > I have done a search of the archives and came across this thread,
    > http://lists.oasis-open.org/archives/docbook-apps/200301/msg00144.html,
    > which suggests that the best way to do it is to use PSMI
    > (http://www.cranesoftwrights.com/resources/psmi/index.htm). However,
    > this only appears to work for tables that are direct children of
    > chapters and appendices. My DocBook is an article, and so the tables
    > are children of sections.
    >
    > That thread appeared in 2004. Have things moved on from there now? Can
    > anyone advise me what the best way of achieving landscape tables is
    > with DocBook today?
    >
    > Thanks,
    >
    > Paul
    >
    > --
    > Nashi Power.
    > http://nashi.podzone.org/
    > Registered address: 7 Trescoe Gardens, Harrow, Middx., U.K.
    >
    > ---------------------------------------------------------------------
    > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
    > For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
    >
    >
    >




  • 2.  Re: [docbook-apps] Landscape tables across multiple pages

    Posted 11-06-2008 12:10
    Hi Bob.

    I am not an XSL expert, let alone a DocBook XSL expert, and the
    customisation required to get PSMI to work for DocBook articles with
    nested sections looks quite involved, so I am going to investigate the
    Antenna House processor. Otherwise I'll just have to fall back to
    splitting such tables manually.

    Thank you for your reply.

    Paul

    2008/11/5 Bob Stayton <bobs@sagehill.net>:
    > Hi,
    > The easiest way is to use the Antenna House processor and put the table
    > inside an fo:block-container with its reference-orientation="90". Antenna
    > House has implemented an extension to the standard to flow such
    > block-containers onto multiple pages. In fact, the current DocBook
    > stylesheets do that already, in the template named 'table.container' in
    > fo/table.xsl. So just setting orient="land" on a table should do it.
    >
    > If AH is not feasible, then PSMI is the only way I know to do it. It is not
    > implemented in the DocBook stylesheets, so you'll have to implement it
    > yourself. Because PSMI breaks a flow into multiple page sequences, it does
    > require closing all open fo elements in the flow before the table. That
    > would require additional customization because of the use of fo:block
    > nesting around sections. You would need to customize the template with
    > match="section" in fo/sections.xsl, removing the section block wrapper. When
    > you do that, however, you lose the ability to place attributes on the
    > container block, those attributes coming from section.level1.properties et
    > al.
    >
    > Bob Stayton
    > Sagehill Enterprises
    > bobs@sagehill.net
    >
    >
    > ----- Original Message ----- From: "Paul Suckling" <paul.suckling@gmail.com>
    > To: <docbook-apps@lists.oasis-open.org>
    > Sent: Wednesday, November 05, 2008 6:42 AM
    > Subject: [docbook-apps] Landscape tables across multiple pages
    >
    >
    >> I have got some long wide tables in my DocBook article. I would like
    >> to either place them on a series of landscape pages, or keep them on a
    >> portrait page but have them rotated. I found a solution which does the
    >> latter but not adequately: The tables don't split across multiple
    >> pages.
    >>
    >> I have done a search of the archives and came across this thread,
    >> http://lists.oasis-open.org/archives/docbook-apps/200301/msg00144.html,
    >> which suggests that the best way to do it is to use PSMI
    >> (http://www.cranesoftwrights.com/resources/psmi/index.htm). However,
    >> this only appears to work for tables that are direct children of
    >> chapters and appendices. My DocBook is an article, and so the tables
    >> are children of sections.
    >>
    >> That thread appeared in 2004. Have things moved on from there now? Can
    >> anyone advise me what the best way of achieving landscape tables is
    >> with DocBook today?
    >>
    >> Thanks,
    >>
    >> Paul
    >>
    >> --
    >> Nashi Power.
    >> http://nashi.podzone.org/
    >> Registered address: 7 Trescoe Gardens, Harrow, Middx., U.K.
    >>
    >> ---------------------------------------------------------------------
    >> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
    >> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
    >>
    >>
    >>
    >
    >



    --
    Nashi Power.
    http://nashi.podzone.org/
    Registered address: 7 Trescoe Gardens, Harrow, Middx., U.K.



  • 3.  Re: [docbook-apps] Landscape tables across multiple pages

    Posted 11-06-2008 12:26
    Hi Paul,

    I recently had the very same requirement for a client. Rotating the
    page 90 degrees is certainly not a desirable solution.

    The problem was solved by pre-processing the DocBook document to
    flatten the section structure, and then group together the portrait
    and landscape parts (XSLT2 is excellent for this purpose!). Those
    different parts are then rendered as sequential fo:page-sequences.

    Let me know if you would like further information on this approach.

    Cheers,
    Steve Ball

    On 06/11/2008, at 11:10 PM, Paul Suckling wrote:

    > Hi Bob.
    >
    > I am not an XSL expert, let alone a DocBook XSL expert, and the
    > customisation required to get PSMI to work for DocBook articles with
    > nested sections looks quite involved, so I am going to investigate the
    > Antenna House processor. Otherwise I'll just have to fall back to
    > splitting such tables manually.
    >
    > Thank you for your reply.
    >
    > Paul
    >
    > 2008/11/5 Bob Stayton <bobs@sagehill.net>:
    >> Hi,
    >> The easiest way is to use the Antenna House processor and put the
    >> table
    >> inside an fo:block-container with its reference-orientation="90".
    >> Antenna
    >> House has implemented an extension to the standard to flow such
    >> block-containers onto multiple pages. In fact, the current DocBook
    >> stylesheets do that already, in the template named
    >> 'table.container' in
    >> fo/table.xsl. So just setting orient="land" on a table should do it.
    >>
    >> If AH is not feasible, then PSMI is the only way I know to do it.
    >> It is not
    >> implemented in the DocBook stylesheets, so you'll have to implement
    >> it
    >> yourself. Because PSMI breaks a flow into multiple page sequences,
    >> it does
    >> require closing all open fo elements in the flow before the table.
    >> That
    >> would require additional customization because of the use of fo:block
    >> nesting around sections. You would need to customize the template
    >> with
    >> match="section" in fo/sections.xsl, removing the section block
    >> wrapper. When
    >> you do that, however, you lose the ability to place attributes on the
    >> container block, those attributes coming from
    >> section.level1.properties et
    >> al.
    >>
    >> Bob Stayton
    >> Sagehill Enterprises
    >> bobs@sagehill.net
    >>
    >>
    >> ----- Original Message ----- From: "Paul Suckling" <paul.suckling@gmail.com
    >> >
    >> To: <docbook-apps@lists.oasis-open.org>
    >> Sent: Wednesday, November 05, 2008 6:42 AM
    >> Subject: [docbook-apps] Landscape tables across multiple pages
    >>
    >>
    >>> I have got some long wide tables in my DocBook article. I would like
    >>> to either place them on a series of landscape pages, or keep them
    >>> on a
    >>> portrait page but have them rotated. I found a solution which does
    >>> the
    >>> latter but not adequately: The tables don't split across multiple
    >>> pages.
    >>>
    >>> I have done a search of the archives and came across this thread,
    >>> http://lists.oasis-open.org/archives/docbook-apps/200301/msg00144.html
    >>> ,
    >>> which suggests that the best way to do it is to use PSMI
    >>> (http://www.cranesoftwrights.com/resources/psmi/index.htm). However,
    >>> this only appears to work for tables that are direct children of
    >>> chapters and appendices. My DocBook is an article, and so the tables
    >>> are children of sections.
    >>>
    >>> That thread appeared in 2004. Have things moved on from there now?
    >>> Can
    >>> anyone advise me what the best way of achieving landscape tables is
    >>> with DocBook today?
    >>>
    >>> Thanks,
    >>>
    >>> Paul
    >>>
    >>> --
    >>> Nashi Power.
    >>> http://nashi.podzone.org/
    >>> Registered address: 7 Trescoe Gardens, Harrow, Middx., U.K.
    >>>
    >>> ---------------------------------------------------------------------
    >>> To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-
    >>> open.org
    >>> For additional commands, e-mail: docbook-apps-help@lists.oasis-open.org
    >>>
    >>>
    >>>
    >>
    >>
    >
    >
    >
    > --
    > Nashi Power.
    > http://nashi.podzone.org/
    > Registered address: 7 Trescoe Gardens, Harrow, Middx., U.K.
    >
    > ---------------------------------------------------------------------
    > To unsubscribe, e-mail: docbook-apps-unsubscribe@lists.oasis-open.org
    > For additional commands, e-mail: docbook-apps-help@lists.oasis-
    > open.org
    >
    >