Customizing olink XSL templates

The XSL templates for generating olinks were modularized in version 1.66 to permit easier customization. These are the templates that can be customized to change the behavior of olinking.

select.target.database

This template is called for each olink to select the olink target database filename. By default, it selects the value of the target.database.document parameter. If you customize this template, then you could use more than one olink database when processing a document.

select.olink.key

This template is called for each olink to select the data for the olink. The key here is the combination of targetdoc/targetptr/lang that will actually be used for this olink. Currently this template recurses through the languages to find the best match. It also handles the cases of a missing targetdoc or targetptr attribute, and the prefer.internal.olink parameter.

make.olink.href

This template assembles the complete URI for each olink. This is output as the href for an HTML link, or as the external-destination attribute for an FO link.

olink.hottext

This template assembles the generated text for an olink, except for the optional document title or page citation.

olink.docname.citation

This template generates the optional title of the target document. You may not need to customize this template if you customize the associated gentext template instead.

olink.page.citation

This template generates the optional page number citation for an olink. You may not need to customize this template if you customize the associated gentext template instead.

insert.olink.docname.markup mode

This is a mode that handles wrapping format styles around the optional document title generated for a olink. This permits you to make the other document's title italic or some other format.

See the section “Replacing templates” for a general discussion of customizing DocBook XSL templates.