#24 inconsistent/confusing escaping of man page file names

open
nobody
None
5
2009-08-01
2009-08-01
Peter Eisentraut
No

The XSLT stylesheets and db2x_manxml appear to take different approaches to escaping inappropriate characters in the the man page file names, which can lead to odd results in some cases. The XSLT stylesheet escapes both space and slash and writes that into the <manpage title=...> attribute of the "manxml" output. db2x_manxml then takes that title and escapes only the slash, making an elaborate point not to escape spaces in case the user really wanted it. That will never happen, however, at least with the default XSLT stylesheet.

Later db2x_manxml writes additional files for each refname in the man page (as solink or symlink, as chosen). Since this does not go through the XSLT stylesheet, spaces are not escaped. I have a man page for an SQL command "CREATE DATABASE", for which a main man page is created as CREATE_DATABASE.7, and then a link CREATE DATABASE.7, because the logic thinks that is a different name. That might actually be pretty neat in practice, as users could call the man page by both names, but I fear it's completely by accident. Also, note that if I add another secondary refname with a space to the page, say CREATE CATALOG, I would only get CREATE CATALOG.7, but not CREATE_CATALOG.7.

Discussion