Description of problem: By putting the version in the path to the DTDs, it makes it difficult for programs to consistently find the location of the dtd when generating docs. Some apps work around this by pulling the dtd from the network, but this doesn't work in the Fedora Extras buildsystem where we don't have network access. The obvious workaround would be to create symlinks alongside the fully versioned path, for example: /usr/share/sgml/docbook/xml-dtd-4.2-1.0-27/docbookx.dtd -> /usr/share/sgml/docbook/xml-dtd-4.2/docbookx.dtd Then, applications looking for the 4.2 dtd can specify it, but not have to hardcode the version.
Don't put a system ID in. Use the public ID, and the XML catalogs will find the right DTD for you.