[Top] [All Lists]

Re: [xsl] Placing an element in a very specific position

2009-04-28 20:42:54
I regret to confirm your suspicions, unless perhaps there is an out that you have not described.

The column geometry in XSL-FO does not allow you to key out a hole at the top of the third column and flow around it.

But, I can give you a fixed size box at the top of what looks like the third column, into which you flow your element. But the box cannot grow, so I don't know if you can use it.

And you have to use XSL-FO 1.1.

Create three body regions, each with one column (or two body regions, the first with two columns and the second with one column). Create a flow map such that the region on the right flows after the other.

Size this right-most body region shorter than the other, leaving the hole at the top. This gives the appearance of a third column when, technically, it is a different region.

Into this hole you can place an absolutely-positioned block container. If this is only on the first page, then your absolutely-positioned block container can be flowed at the start of the flow. If this is on every page then you can flow that absolutely-positioned block container in one of the static content areas. Whether the content in that hole changes or not might be an issue, but you may be able to use markers to make it vary.

I hope this helps!

. . . . . . . . . . . Ken

p.s. if Mats Hultemark is still with Sorman, please pass on my regards (but I know it is a big company and you may not know him).

At 2009-04-29 00:42 +0200, Anders(_dot_)Svensson(_at_)sorman(_dot_)com wrote:

I have a problem where I have been asked if I can put an element in the
top of the third column in a three-column page. My initial thought is
that this can't be done. I have tried to investigate
absolute-positioning and floats, but cannot find anything that would
seem to do this. I have no idea how it would be possible to decide that
it should end up in the top of the third column specifically. In the
first column would be easy, and if I could put it in the header that
should be easy too, but unfortunately the header is not an option due to
the fact that there are space requirements so that each column needs to
be utilized completely.

Is there any way to do this, or do I need to tell my client that it
can't be done?

Any suggestions greatly appreciated!



XSLT/XSL-FO/XQuery hands-on training - Los Angeles, USA 2009-06-08
Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
Training tools: Comprehensive interactive XSLT/XPath 1.0/2.0 video
Video lesson:    http://www.youtube.com/watch?v=PrNjJCh7Ppg&fmt=18
Video overview:  http://www.youtube.com/watch?v=VTiodiij6gE&fmt=18
G. Ken Holman                 mailto:gkholman(_at_)CraneSoftwrights(_dot_)com
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>