User Documentation for Xalan Version Values:
Xalan Notes:
Xalan Committers Documentation:
Xalan committers normally only need to modify one or two of the following macros:
XALAN_VERSION_MAJOR XALAN_VERSION_MINOR XALAN_VERSION_REVISION
The integer values of these macros define the Xalan version number. All other constants and preprocessor macros are automatically generated from these three definitions.
Xalan User Documentation:
The following sections in the user documentation have examples based upon the following three version input values:
#define XALAN_VERSION_MAJOR 19 #define XALAN_VERSION_MINOR 3 #define XALAN_VERSION_REVISION 74
The minor and revision (patch level) numbers have two digits of resolution which means that '3' becomes '03' in this example. This policy guarantees that when using preprocessor macros, version 19.3.74 will be greater than version 1.94.74 since the first will expand to 190374 and the second to 19474.
Preprocessor Macros:
_XALAN_VERSION defines the primary preprocessor macro that users will introduce into their code to perform conditional compilation where the version of Xalan is detected in order to enable or disable version specific capabilities. The value of _XALAN_VERSION for the above example will be 190374. To use it a user would perform an operation such as the following:
#if _XALAN_VERSION >= 190374 // code specific to new version of Xalan... #else // old code here... #endif
XALAN_FULLVERSIONSTR is a preprocessor macro that expands to a string constant whose value, for the above example, will be "19_3_74".
XALAN_FULLVERSIONDOT is a preprocessor macro that expands to a string constant whose value, for the above example, will be "19.3.74".
XALAN_VERSIONSTR is a preprocessor macro that expands to a string constant whose value, for the above example, will be "19374". This particular macro is very dangerous if it were to be used for comparing version numbers since ordering will not be guaranteed.
Xalan_DLLVersionStr is a preprocessor macro that expands to a string constant whose value, for the above example, will be "19_3_74". This macro is provided for backwards compatibility to pre-1.7 versions of Xalan.
String Constants:
gXalanVersionStr is a global string constant whose value corresponds to the value "19_3" for the above example.
gXalanFullVersionStr is a global string constant whose value corresponds to the value "19_3_74" for the above example.
Numeric Constants:
gXalanMajVersion is a global integer constant whose value corresponds to the major version number. For the above example its value will be 19.
gXalanMinVersion is a global integer constant whose value corresponds to the minor version number. For the above example its value will be 3.
gXalanRevision is a global integer constant whose value corresponds to the revision (patch) version number. For the above example its value will be 74. MODIFY THESE NUMERIC VALUES TO COINCIDE WITH XALAN VERSION AND DO NOT MODIFY ANYTHING ELSE IN THIS VERSION HEADER FILE