OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [docbook-apps] Olinks in PDF missing valid destination?


Hi Bob,

 

I am using docbkx-tools 2.0.14 with the 1.72.0 stylesheets.  You are correct, setting <insertOlinkPdfFrag>1</insertOlinkPdfFrag>in the POM is the same as <param name=”insert.olink.pdf.frag” select=”1”/> in the stylesheet.  I am using FOP 1.0 (we run Nexus behind a firewall and so updates are a challenge) which does not appear to support fragment identifiers.  From your response below I assume FOP 1.1 does?

 

Regards

 

Nick

 

 

 

From: Mark Craig [mailto:mark.craig@gmail.com]
Sent: Thursday, October 24, 2013 8:52 PM
To: Bob Stayton
Cc: Wood Nick; DocBook Apps
Subject: Re: [docbook-apps] Olinks in PDF missing valid destination?

 

Hi Bob,

 

What I observed with <insertOlinkPdfFrag> left undefined -- I'm assuming that means insert.olink.pdf.frag is 0 -- I was getting external-destination="url(#dest=)" in the .fo. No file name, no fragment.

 

I think docbkx-tools 2.0.14 is picking up version 1.76.1 stylesheets. What I didn't do is get the stylesheets and try without docbkx-tools.

 

Regards,

Mark

 

On Thu, Oct 24, 2013 at 7:46 PM, Bob Stayton <bobs@sagehill.net> wrote:

Hi Mark,

Can you clarify one point for me?   When <insertOlinkPdfFrag> is not set to 1, does "not properly resolved" mean the link can open the other PDF document but not scroll to the proper location, or does it not open the other PDF at all?  I would expect the former.

 

I'm not a user of docbkx-tools, but I presume setting <insertOlinkPdfFrag> is the same as setting the DocBook XSL stylesheet parameter named 'insert.olink.pdf.frag', right?  That parameter's default value should probably be 1, now that all XSL-FO processors support the fragment identifiers.

 

Bob Stayton
Sagehill Enterprises
bobs@sagehill.net

 

Sent: Thursday, October 24, 2013 6:00 AM

Subject: Re: [docbook-apps] Olinks in PDF missing valid destination?

 

By the way, 

 

When I want to resolve olinks between PDF documents, it looks like I also need <insertOlinkPdfFrag>1</insertOlinkPdfFrag>.

 

Otherwise external-destinations are not properly resolved (though according to Olink debug messages they are resolved).

 

Again, I'm seeing this behavior with 1.76.1.

 

Regards,

Mark

 

On Oct 23, 2013, at 3:38 PM, Mark Craig wrote:



Hi Nick,

 

Thanks very much for your help.

 

Following your suggestion does the trick:

 

<currentDocid>book</currentDocid>

 

As a result, the link gets resolved as an internal-destination in the .fo, and this works fine in the PDF.

 

<fo:basic-link internal-destination="chapter"><fo:inline>link to the next chapter</fo:inline></fo:basic-link>.

 

Regards,

Mark

 

On Oct 23, 2013, at 2:35 PM, Wood Nick wrote:



Mark,

 

I do not pretend to be an expert on this – I setup my pdf olinks using Bob’s excellent book plus some guidance you have posted in the past.  However, have you tried adding <currentDocid/> in the <configuration/> of your POM and then using the sitemap in your olinkdb.xml (as I believe this provide the location of the documents).

 

Regards

 

Nick

 

 

From: Mark Craig [mailto:mark.craig@gmail.com
Sent: Wednesday, October 23, 2013 10:11 AM
To: DocBook Apps
Subject: [docbook-apps] Olinks in PDF missing valid destination?

 

Hello,

 

In the past I have successfully set up Olink resolution for HTML.

 

I have read and tried to implement

But I'm not managing to do the same for PDF.

 

A clickable link of the Olink is there in the PDF, but with no valid destination.

 

This is with docbkx-tools 2.0.14, so DocBook XSL 1.76.1 and FOP 1 (I think 1.1).

 

My little test is at https://github.com/markcraig/DOCS-47.

(There's only one Olink, in the para at line 20 of book.xml.)

 

The main part of the target database document for the test is minimal:

 

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE targetset[

<!ENTITY book SYSTEM '../../target/target.db'>

]>

<targetset>

 <document targetdoc="book" baseuri="book.pdf">&book;</document>

</targetset>

 

Although Olink debug messages make it look like the stylesheets are finding a match for the link, the .fo is missing information.

 

In the build output, I see:

 

Olink debug: cases for targetdoc='book' and targetptr='chapter' in language ''.

Olink debug: CaseA matched.

Olink debug: CaseA key is the final selection: book/chapter/

 

But the .fo has an external-destination with no actual destination:

 

<fo:basic-link show-destination="replace" external-destination="url(#dest=)"

><fo:inline>link to the next chapter</fo:inline></fo:basic-link>

 

If I remove the baseuri value from the <document> element in the target database document, then the external-destination attribute changes a little:

 

<fo:basic-link show-destination="replace" external-destination="url(#dest=chapter)"

><fo:inline>link to the next chapter</fo:inline></fo:basic-link>

 

What should I do differently for a valid destination to be generated?

 

Thanks for your advice.

Regards,

Mark

 

 

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]