I am now developing a xslfo stylesheet that sets the content to 2-column display, using the RenderX XEP processor. However, I still want to leave the tables as 1-column display, since they are much wider. I found this article extremely helpful:
http://www.sagehill.net/docbookxsl/MultiColumns.html (Navigate down to “Page column spans“ section)
Indeed, since I am using XEP processor, it will not allow me to put an @span=”all” attribute at the outer fo:block that containing my table element, since that fo:block is not a direct child of an fo:flow. So, using the suggested solution in that article, I changed my containing fo:block to fo:wrapper, and now the fo looks like this:
<fo:wrapper font-size="80%" id="table_1ECAD9B3F5FC44A68240330AEFC1C2E2" space-after.optimum="1em" span="all">
<fo:table border-bottom-color="black" border-bottom-style="solid" border-bottom-width="1pt" border-left-color="black" border-left-style="solid" border-left-width="1pt" border-right-color="black" border-right-style="solid" border-right-width="1pt" border-top-color="black" border-top-style="solid" border-top-width="1pt" id="" space-after.optimum="5pt" space-before.optimum="5pt" table-layout="fixed" width="100%">
....
</fo:table>
</fo:wrapper>
There is no warning message now in the generation process, seems like it does accept the @span=”all” for the fo:wrapper. However, in the resulting pdf, the table is still split into two-columns as before. The article is referring to Docbook xslfo, while I am using a custom xslfo that comes with XMetal.
Wonder if any experts have similar experience (using XEP, setting the @span in a mutil-column environment) to share?
The workaround that you refer to means that the
<fo:block span="all">block is kept as it is, and that all its<fo:block>ancestors are replaced with<fo:wrapper>.A structure like this one,
needs to be replaced with this: