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?




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