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.