Re: [xsl] position= and blocks (was And operator usage in XSL)

Subject: Re: [xsl] position= and blocks (was And operator usage in XSL)
From: "john farrow" <fomailinglist@xxxxxxxxxx>
Date: Fri, 30 Jul 2004 10:15:34 +1200
Hi Eliot

My reading of 7.5.1 in the spec about absolute-position was that the
block-container was offset from the containing area, not the containing
reference area, although what you say about a block not establishing a
reference area makes sense.

In 7.2 the "containing block" is described as the nearest ancestor block
area which is not a line area, and in the definition of "left" in 7.5.5. the
offset specified by left is said to be from the "containing block", which I
take to mean the immediate parent block, not the reference area.

I have the feeling I am missing something - can you point me to somewhere
else in the spec where it says a block is positioned relative to the
containing reference area as opposed to the containing area ?



----- Original Message ----- 
From: "Eliot Kimber" <ekimber@xxxxxxxxxxxxxxxxxxx>
To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx>
Sent: Friday, July 30, 2004 9:46 AM
Subject: Re: [xsl] position= and blocks (was And operator usage in XSL)

> john farrow wrote:
> > Thats for the info Eliot.
> >
> > I have been looking at this and came up with this to place the two
> > over one another:
> >
> > <fo:block id="outer">
> >    <fo:block-container absolute-position="absolute">
> >       <fo:block>A</fo:block>
> >    </fo:block-container>
> >    <fo:block>B</fo:block>
> > </fo:block>
> >
> > I think (please correct me if I am wrong) only one block-container is
> > necessary, and it will be positioned relative to its containing area
> > id="outer") so the two blocks will be over each other, and only the
> > fo:block is in the normal flow.
> This only coincidently works in your test because the block "outer"
> happens to be the first block on the page.
> Unfortunately, block-containers are positioned relative to the nearest
> containing reference area, which in this case is the pages region-body.
> fo:block does not establish a reference area so there's no way for
> block-container to be positioned relative to it.
> In your test, if you put a block before what is now the first block
> you'll see what I mean.
> Cheers,
> E.
> -- 
> W. Eliot Kimber
> Professional Services
> Innodata Isogen
> 9030 Research Blvd, #410
> Austin, TX 78758
> (512) 372-8122
> eliot@xxxxxxxxxxxxxxxxxxx

Current Thread