docbook-apps

  • 1.  2 column sidebar with Antenna House

    Posted 11-16-2011 00:10
    I am having an issue with creating a 2-column sidebar using DocBook 1.76.1
    and Antenna House 5.3

    Having been a user of RenderX for quite some time, I am finding
    (thankfully) that there is a lot of overlap with extensions with AH.

    That said, it appears that AH is more flexible in letting you create a
    multi-column layout in the middle of the current flow.

    As per the documentation on the AH site (
    http://www.antennahouse.com/xslfo/axf5-extension.htm#axf.column-count)

    I created the following:

    <fo:block-container axf:column-count="2" axf:column-gap="1pc">

    </fo:block-container>

    There are fo:block elements inside the container.

    When the content is rendered, it does have 2 columns, but content is always
    in column #1, nothing ever flows to the second column.

    I tried setting the axf:column-fill="balance" (which, according to the doc,
    is the default anyway) and that didn't help.

    I also tried to give the block-container an explicit height (which is not
    ideal and if that were a requirement, would make this not usable for me)
    and that didn't help anyway.

    I also tried using a float (through the side bar processing instruction)
    and not using a float, neither worked.

    There seem to be NO examples out there that I could find of anyone actually
    using this.

    Anyone have any ideas of what I could be doing wrong?

    Thank you in advance.



  • 2.  Re: [docbook-apps] 2 column sidebar with Antenna House

    Posted 11-16-2011 08:30
    On 16.11.2011 1:10, Daniel Reed wrote:

    > When the content is rendered, it does have 2 columns, but content is always
    > in column #1, nothing ever flows to the second column.
    >
    > I tried setting the axf:column-fill="balance" (which, according to the doc,
    > is the default anyway) and that didn't help.

    Try to put <fo:block span="all"/> at the end of your two column content.
    This does ballancing when you have two columns in region-body, it might
    work there as well -- I don't have XSL Formatter at hand to test it.

    Jirka

    --
    ------------------------------------------------------------------
    Jirka Kosek e-mail: jirka@kosek.cz http://www.kosek.cz
    ------------------------------------------------------------------
    Profesionální školení a poradenství v oblasti technologií XML.
    Podrobný prehled školení http://xmlguru.cz/skoleni/
    ------------------------------------------------------------------
    http://docbook.cz Stránky o dokumentacním formátu DocBook
    http://xmlguru.cz Blog mostly about XML for English readers
    ------------------------------------------------------------------




  • 3.  Re: [docbook-apps] 2 column sidebar with Antenna House

    Posted 11-16-2011 21:05
    Thanks for the help.

    Turns out, AH documentation is a bit incomplete. The <fo:block-container>
    must be a child element of the fo:flow in order for this to work.

    That isn't really stated from what I have read, though knowing how it works
    in RenderX, I should have known.

    Thanks for the tip though.

    cheers

    On Wed, Nov 16, 2011 at 3:30 AM, Jirka Kosek <jirka@kosek.cz> wrote:

    > On 16.11.2011 1:10, Daniel Reed wrote:
    >
    > > When the content is rendered, it does have 2 columns, but content is
    > always
    > > in column #1, nothing ever flows to the second column.
    > >
    > > I tried setting the axf:column-fill="balance" (which, according to the
    > doc,
    > > is the default anyway) and that didn't help.
    >
    > Try to put <fo:block span="all"/> at the end of your two column content.
    > This does ballancing when you have two columns in region-body, it might
    > work there as well -- I don't have XSL Formatter at hand to test it.
    >
    > Jirka
    >
    > --
    > ------------------------------------------------------------------
    > Jirka Kosek e-mail: jirka@kosek.cz http://www.kosek.cz
    > ------------------------------------------------------------------
    > Profesionální školení a poradenství v oblasti technologií XML.
    > Podrobný prehled školení http://xmlguru.cz/skoleni/
    > ------------------------------------------------------------------
    > http://docbook.cz Stránky o dokumentacním formátu DocBook
    > http://xmlguru.cz Blog mostly about XML for English readers
    > ------------------------------------------------------------------
    >
    >



  • 4.  Re: [docbook-apps] 2 column sidebar with Antenna House

    Posted 11-17-2011 17:02
    I want to clarify my findings...

    For the RenderX extension to work (rx:flow-section), it must be a child of
    the fo:flow.

    When I got the example from support at AH, they had their
    "fo:block-container" as a child as well, and it worked. So I ASSumed it
    had to also be a child.

    I decided that I would mess with it some more and found that it doesn't
    have to be a child in AH. What was causing an issue was DocBook... the
    formal.object.properties attr set assigned a
    keep-together.within.column=always up higher in the chain, and that was
    interfering with the local two column.

    So, once I set the local keep-together.within.column property to "auto".

    So, AH is far more flexible that RenderX in this respect, though I am
    unsure if the interference from the keep-together.within.column isn't
    really a bug in the way they implemented their extension... I would have
    re-read the parts of teh FO spec to figure that out.

    So, to change the column layout mid flow:

    RenderX - use the <rx:flow-section> extension element, but it must be a
    CHILD of the fo:flow
    Antenna House - add the axf:column-count attr to fo:block-container
    (regardless of where it is) but note that a keep-together.within.column
    like is added by the DocBook attr set "formal.object.properties" to just
    about everything will skew this and cause it to run in one column only. To
    fix this, override the attr to "auto" for your fo:block-container.

    Hope this helps someone someday!


    2011/11/16 Daniel Reed <danreed121@gmail.com>

    > Thanks for the help.
    >
    > Turns out, AH documentation is a bit incomplete. The <fo:block-container>
    > must be a child element of the fo:flow in order for this to work.
    >
    > That isn't really stated from what I have read, though knowing how it
    > works in RenderX, I should have known.
    >
    > Thanks for the tip though.
    >
    > cheers
    >
    >
    > On Wed, Nov 16, 2011 at 3:30 AM, Jirka Kosek <jirka@kosek.cz> wrote:
    >
    >> On 16.11.2011 1:10, Daniel Reed wrote:
    >>
    >> > When the content is rendered, it does have 2 columns, but content is
    >> always
    >> > in column #1, nothing ever flows to the second column.
    >> >
    >> > I tried setting the axf:column-fill="balance" (which, according to the
    >> doc,
    >> > is the default anyway) and that didn't help.
    >>
    >> Try to put <fo:block span="all"/> at the end of your two column content.
    >> This does ballancing when you have two columns in region-body, it might
    >> work there as well -- I don't have XSL Formatter at hand to test it.
    >>
    >> Jirka
    >>
    >> --
    >> ------------------------------------------------------------------
    >> Jirka Kosek e-mail: jirka@kosek.cz http://www.kosek.cz
    >> ------------------------------------------------------------------
    >> Profesionální školení a poradenství v oblasti technologií XML.
    >> Podrobný prehled školení http://xmlguru.cz/skoleni/
    >> ------------------------------------------------------------------
    >> http://docbook.cz Stránky o dokumentacním formátu DocBook
    >> http://xmlguru.cz Blog mostly about XML for English readers
    >> ------------------------------------------------------------------
    >>
    >>
    >