Hi Alexey,
I think a better solution is to make the biblioentry element itself into an 
"olink" using the universal linking scheme in DocBook 5.0.  For an example, see 
the last line in Table 4.1 in this doc:

http://www.sagehill.net/docbookxsl/Db5Tools.html#Db5UnivLinking

Unfortunately, the stylesheet currently does not support the universal linking 
feature for biblioentry.  It should be changed to call the 'simple.xlink' 
template if it has those linking attributes, then it would behave as an olink.  
That is a deficiency that should be corrected for the next release of the 
stylesheets, and would not require a change to the schema.

You mention DTD, so perhaps you are using DocBook 4 and would not be able to 
use universal linking?

Bob Stayton
Sagehill Enterprises
[email protected]


From: Alexey Neyman 
Sent: Saturday, August 31, 2013 11:27 PM
To: [email protected] 
Subject: [docbook-apps] Bibliography vs. olinks


Hi all,



I have a set of documents that cross-reference each other. They also mention 
each other in their bibliography sections.



So, the most natural way I thought of was:



<biblioentry>

<olink targetdoc="some-other-document"/>

</biblioentry>



Indeed, since all the necessary document info is already in the olink database 
- why not use it? Unfortunately, DTD stopped me from doing that. :)



So, I tried to wrap the <olink/> above in <citetitle/>. That passed the 
validation, but the docbook-xsl stylesheets interpreted this as a reference to 
an external bibliography file, and failing to load that external entity, 
emitted an error message:



warning: failed to load external entity 
"http://docbook.sourceforge.net/release/bibliography/bibliography.xml";

No bibliography entry: idp71680 found in 
http://docbook.sourceforge.net/release/bibliography/bibliography.xml



So, I see two possible ways of dealing with this:



- to process the whole set of documents to create that "bibliography 
collection" (which, I guess, would work - but seems to be an overkill, given 
the availability of the required information in the olink database)



OR



- to customize the DTD to allow <olink/> as a direct child of <biblioentry/> 
and to customize the match="biblioentry" template to handle such olinks.



Am I missing some obvious way of dealing with this problem?



If I follow the latter approach, would it be a welcome addition to docbook-xsl 
stylesheets?



Regards,

Alexey.


Reply via email to