xsl-list
[Top] [All Lists]

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

2009-01-27 12:15:50
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(_at_)cranesoftwrights(_dot_)com> 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(_at_)CraneSoftwrights(_dot_)com
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


--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>