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: Spurious matches of CaseB/CaseF in select.olink.key.in.lang


Hi all,

 

I have a couple of documents with some element IDs overlapping. For example, both have "ch-overview" ID for the first chapter. I tried using $prefer.internal.olink, but it seems to misbehave on such links: it links to internal ID even if @targetdoc points to another document. For example:

 

<book id="doc1">

...

<chapter id="ch-overview">

...

<olink targetdoc="doc2" targetptr="ch-overview"/>

 

links to itself, even though the document ID is clearly different. The reason is that select.olink.key.in.lang template has CaseB/CaseF variables that ignore @targetdoc from <olink/> and use $current.docid instead, and cases B/F have higher precedence than cases A/E (that use olink/@targetdoc).

 

So, what is the purpose of $prefer.internal.olink, given that:

 

1. If a check for $current.docid = $targetdoc.att is added to cases B/F (to respect the document ID on the pointer), they become equivalent to cases A/E.

 

2. Even with $prefer.internal.olink = 0, links within the current document are converted to internal links by olink.as.linkend template in fo/xref.xsl (in the PDF output). I haven't experimented with HTML output - but I am not sure what would be the notion of "external" vs. "internal" link in, say, chunked HTML document.

 

Is $prefer.internal.olink some vestige of the past that should've been removed, or am I missing some value in it?

 

Regards,

Alexey.



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