[xep-support] Re: Making bookmarks go to the top of the page

G. Ken Holman gkholman at CraneSoftwrights.com
Wed Oct 19 06:00:22 PDT 2011


At 2011-10-19 16:48 +0400, Michael Sulyaev wrote:
>On 10/19/2011 04:34 PM, Harvey, Paul (Contractor) wrote:
>>We're using<rx:bookmark 
>>internal-destination="{generate-id(.)}">  approach for our 
>>bookmarks, where the id will be the id of an<fo:block>.
>>This jumps us to the top of the block, though, we want it to jump 
>>the top of the page that the block is on. Is there a way to jump to 
>>the top of the page?
>
>Hello Paul,
>
>This is pretty close to the previous question.
>In general, XSL FO does not provide a way to meet this requirement.
>However, with XEPOUT you can do it easily: just change the 
>positional attributes of xep:target elements so that they point to 
>the top of the page.

Certainly manipulating XEPOUT may be easier than accomplishing this 
in XSL-FO, but it can be done using the standard using the following 
elaborate approach.

In static content at the top of every page in a page section, 
retrieve a marker for every target id in that page section.  Make 
sure to limit the retrieval to only the given page.  Then for every 
block that is a target, define a marker that contains the 
ID.  Because of the retrieval limitation, this will percolate all of 
the IDs on a given page to the top of that page.  Then when you link 
to that ID from the bookmarks, you will be placed at the top of the page.

Ugly, but it should work, and it is using standard XSL-FO.

I hope this helps.

. . . . . . . . . . Ken

--
Contact us for world-wide XML consulting and instructor-led training
Crane Softwrights Ltd.            http://www.CraneSoftwrights.com/f/
G. Ken Holman                   mailto:gkholman at CraneSoftwrights.com
Google+ profile: https://plus.google.com/116832879756988317389/about
Legal business disclaimers:    http://www.CraneSoftwrights.com/legal


!DSPAM:87,4e9eca0463731189215306!




More information about the Xep-support mailing list