Re: [xsl] FO border-end-width conditionality discard

Subject: Re: [xsl] FO border-end-width conditionality discard
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Tue, 27 Jan 2009 10:15:26 -0700
I understand your proposed solution, however I've misrepresented my
case.  Let me try again...

(begin report)
page-sequence
  block 1px solid border
  block 1px solid border
  block 1px solid border
  block 1px solid border
(implicit page break occurs)
  block 1px solid border
  block 1px solid border
(implicit page break occurs)
  block 1px solid border
(end of report)


So now, 2 cases would occur that the line for the last block would be omitted:
1) before each implicit page break
2) at the end of the report (which actually brings me to a 3rd more complex case

3rd Case:
In the case where just a single block occurs for the last page, it
might be desirable to keep the line for the block so long that the
last block on the last page of the report (page-sequence) is not close
to the bottom of the page.  In otherwords, keep the line if the block
is more to the top of the page, and lose the line if the block is near
the bottom of the page.
Is there someway to to achieve this?

On Mon, Jan 26, 2009 at 6:32 PM, G. Ken Holman
<gkholman@xxxxxxxxxxxxxxxxxxxx> wrote:
> At 2009-01-25 18:03 -0700, Karl Stubsjoen wrote:
>>
>> Consider:
>>
>> (begin report)
>> page-sequence
>>  block 1px solid border
>>  block 1px solid border
>>  block 1px solid border
>>  block 1px solid border
>> page-sequence
>>  block 1px solid border
>>  block 1px solid border
>>  block 1px solid border
>>  block 1px solid border
>> page-sequence
>>  block 1px solid border
>>  block 1px solid border
>>  block 1px solid border
>>  block 1px solid border
>> (end report)
>>
>> How do you discard the border for the last block object in each
>> page-sequence above?
>
> In your report you are explicitly writing an explicit "page-sequence"
> instead of an implicit "page break".
>
> If it is indeed the case that you are packaging your blocks within page
> sequences, then algorithmically in your XSLT you are somehow working with a
> group of information items, each producing a block, with the group of blocks
> within a page sequence.
>
> In this case, you should be able to do something like:
>
>  <xsl:if test="position()=last()">
>    <xsl:attribute name="border-end-width">0pt</xsl:attribute>
>  </xsl:if>
>
> I hope this helps.
>
> . . . . . . . . . Ken
>
> --
> Upcoming XSLT/XSL-FO, UBL and code list hands-on training classes:
> :  Sydney, AU 2009-01/02; Brussels, BE 2009-03; Prague, CZ 2009-03
> 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@xxxxxxxxxxxxxxxxxxxx
> Crane Softwrights Ltd.          http://www.CraneSoftwrights.com/s/
> Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
> Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread