[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Footnote within a list item

Subject: Re: Footnote within a list item
From: "G. Ken Holman" <gkholman@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 28 May 2009 13:49:25 -0400
Re:  Footnote within a list item
At 2009-05-28 19:33 +0200, Konstanty Pilecki wrote:
My footnote is constructed like this:

<footnote>
    <inline baseline-shift="super">99</inline>
    <footnote-body>
        <list-block>
            <list-item>
                <list-item-label>
                    <block baseline-shift="super">99</block>
                </list-item-label>
                <list-item-body start-indent="body-start()">
                    <block>xxxxxxxxx</block>
                </list-item-body>
            </list-item>
        </list-block>
    </footnote-body>
</footnote>

A <list-block> element has been used inside a <footnote-body> element
to obtain a good layout of footnotes sequence at the page's bottom. It
works well except a case, when the footnote is nested inside an actual
list. Then the footnote is, unfortunately, shifted to the right. How
can I force an XSL-FO processor not to treat an inner list as a nested
one?

Long ago I put this explicitly in one of our XSL-FO class exercises in order to force students to look at tree refinement in the XSL-FO processing model. It always catches them by surprise when they think they've completed the exercise.


Before your footnote is laid out on the page, the refinement of the FO tree runs all the necessary inheritance processing and FO clean-up. This means that while your footnote is inside your body's block in the tree, it is inheriting your body's indentation. When it is laid out at the bottom of the page it has already inherited the indentation and so it gets used.

I tell my students that to isolate the indentation of the footnote from the indentation of the body, wrap the footnote-body content with an unindented block:

   <footnote-body>
     <block start-indent="0pt">
       ....
     </block>
   </footnote-body>

The behaviour you are seeing is not a bug ... it is a direct result of the kinds of actions that are going on in the XSL-FO processing model, and what you end up getting in the refined FO object tree.

I hope this helps.

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

--
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@xxxxxxxxxxxxxxxxxxxx
Male Cancer Awareness Nov'07  http://www.CraneSoftwrights.com/s/bc
Legal business disclaimers:  http://www.CraneSoftwrights.com/legal

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.