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
From: Alexey Neyman
Sent: Saturday, August 31, 2013 11:27 PM
To:
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.