XalanVersion.hpp currently hardcodes the release version numbers. This file should be automatically generated so that it's kept up-to-date automatically.
Additionally, when autogenerating the file, we can directly substitute all the string variants so all of the INVK macros can be deleted.
One additional flaw is that the gXalan* variables are defined in the header, so will be present in all translation units and any external use of the header, which may lead to symbol conflicts when linking. There are likely few users of these. Move into a translation unit and declare extern to avoid potential problems.