Added capability in FO output for displaying URLs for all
hyperlinks (elements marked up with xlink:href attributes) in the
same way as URLs for ulinks are already handled (which is to say,
either inline or as numbered footnotes).
Background on this change:
DocBook 5 allows "ubiquitous" linking, which means you can make
any element a hyperlink just by adding an xlink:href attribute to
it, with the value set to an external URL. That's in contrast to
DocBook 4, which only allows you to use specific elements (e.g.,
the link and ulink elements) to mark up hyperlinks.
The existing FO stylesheets have a mechanism for handling display
of URLs for hyperlinks that are marked up with ulink, but they did
not handle display of URLs for elements that were marked up with
xlink:href attributes. This change adds handling for those other
elements, enabling the URLs they link to be displayed either
inline or as numbered footnotes (depending on what values the user
has the ulink.show and ulink.footnotes params set to).
Note that this change only adds URL display support for elements
that call the simple.xlink template -- which currently is most
(but not all) inline elements.
This change also moves the URL display handling out of the ulink
template and into a new "hyperlink.url.display" named template;
the ulink template and the simple.xlink named template now both
call the hyperlink.url.display template.
Warning: In the stylesheet code that determines what footnote
number to assign to each footnote or external hyperlink, there is
an XPath expression for determining whether a particular
xlink:href instance is an external hyperlink; that expression is
necessarily a bit complicated and further testing may reveal that
it doesn't handle all cases as expected -- so some refinements to
it may need to be done later.
Closes #
1785519. Thanks to Ken Morse for reporting and
troubleshooting the problem.