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

From
Wood Nick <>
Date
2013-10-23T12:35:30+00:00
ID
.NC3A
Thread
RE: [docbook-apps] Olinks in PDF missing valid destination?
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:]

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

http://www.sagehill.net/docbookxsl/OlinkPrintOutput.html#PdfLinkingSetup

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