| API Docs for SAX and DOM |

- Main Page
- Classes
- Files
- Related Pages

# XercesVersion.hpp File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Defines

#define | XERCESVERSION_HPP
#define | XERCES_VERSION_MAJOR 2
| User Documentation for Xerces Version Values:.
#define | XERCES_VERSION_MINOR 8
#define | XERCES_VERSION_REVISION 0
#define | XERCES_GRAMMAR_SERIALIZATION_LEVEL 5
#define | CAT2_SEP_UNDERSCORE(a, b) #a "_" #b
| DO NOT MODIFY BELOW THIS LINE.
#define | CAT2_SEP_PERIOD(a, b) #a "." #b
#define | CAT2_SEP_NIL(a, b) #a #b
#define | CAT2_RAW_NUMERIC(a, b) a ## b
#define | INVK_CAT2_SEP_UNDERSCORE(a, b) CAT2_SEP_UNDERSCORE(a,b)
#define | INVK_CAT2_SEP_PERIOD(a, b) CAT2_SEP_PERIOD(a,b)
#define | INVK_CAT2_STR_SEP_NIL(a, b) CAT2_SEP_NIL(a,b)
#define | INVK_CAT2_RAW_NUMERIC(a, b) CAT2_RAW_NUMERIC(a,b)
#define | CAT3_SEP_UNDERSCORE(a, b, c) #a "_" #b "_" #c
#define | CAT3_SEP_PERIOD(a, b, c) #a "." #b "." #c
#define | CAT3_SEP_NIL(a, b, c) #a #b #c
#define | CAT3_RAW_NUMERIC(a, b, c) a ## b ## c
#define | CAT3_RAW_NUMERIC_SEP_UNDERSCORE(a, b, c) a ## _ ## b ## _ ## c
#define | INVK_CAT3_SEP_UNDERSCORE(a, b, c) CAT3_SEP_UNDERSCORE(a,b,c)
#define | INVK_CAT3_SEP_PERIOD(a, b, c) CAT3_SEP_PERIOD(a,b,c)
#define | INVK_CAT3_SEP_NIL(a, b, c) CAT3_SEP_NIL(a,b,c)
#define | INVK_CAT3_RAW_NUMERIC(a, b, c) CAT3_RAW_NUMERIC(a,b,c)
#define | INVK_CAT3_RAW_NUMERIC_SEP_UNDERSCORE(a, b, c) CAT3_RAW_NUMERIC_SEP_UNDERSCORE(a,b,c)
#define | MULTIPLY(factor, value) factor * value
#define | CALC_EXPANDED_FORM(a, b, c) ( MULTIPLY(10000,a) + MULTIPLY(100,b) + MULTIPLY(1,c) )
#define | XERCES_FULLVERSIONSTR INVK_CAT3_SEP_UNDERSCORE(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)
#define | XERCES_FULLVERSIONDOT INVK_CAT3_SEP_PERIOD(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)
#define | XERCES_FULLVERSIONNUM INVK_CAT3_SEP_NIL(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)
#define | XERCES_VERSIONSTR INVK_CAT2_SEP_UNDERSCORE(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR)
#define | XERCES_PRODUCT xercesc
#define | XERCES_CPP_NAMESPACE INVK_CAT3_RAW_NUMERIC_SEP_UNDERSCORE(XERCES_PRODUCT,XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR)
#define | Xerces_DLLVersionStr XERCES_FULLVERSIONSTR
#define | _XERCES_VERSION CALC_EXPANDED_FORM (XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)

## Variables

const char *const | gXercesVersionStr = "2" "_" "8"
const char *const | gXercesFullVersionStr = "2" "_" "8" "_" "0"
const unsigned int | gXercesMajVersion = 2
const unsigned int | gXercesMinVersion = 8
const unsigned int | gXercesRevision = 0

## Define Documentation

#define _XERCES_VERSION CALC_EXPANDED_FORM (XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)

#define CALC_EXPANDED_FORM | ( | a,
|  | b,
|  | c |  | ) | ( MULTIPLY(10000,a) + MULTIPLY(100,b) + MULTIPLY(1,c) )

#define CAT2_RAW_NUMERIC | ( | a,
|  | b |  | ) | a ## b

#define CAT2_SEP_NIL | ( | a,
|  | b |  | ) | #a #b

#define CAT2_SEP_PERIOD | ( | a,
|  | b |  | ) | #a "." #b

#define CAT2_SEP_UNDERSCORE | ( | a,
|  | b |  | ) | #a "_" #b

DO NOT MODIFY BELOW THIS LINE.

MAGIC THAT AUTOMATICALLY GENERATES THE FOLLOWING:

Xerces_DLLVersionStr, gXercesVersionStr, gXercesFullVersionStr, gXercesMajVersion, gXercesMinVersion, gXercesRevision

#define CAT3_RAW_NUMERIC | ( | a,
|  | b,
|  | c |  | ) | a ## b ## c

#define CAT3_RAW_NUMERIC_SEP_UNDERSCORE | ( | a,
|  | b,
|  | c |  | ) | a ## _ ## b ## _ ## c

#define CAT3_SEP_NIL | ( | a,
|  | b,
|  | c |  | ) | #a #b #c

#define CAT3_SEP_PERIOD | ( | a,
|  | b,
|  | c |  | ) | #a "." #b "." #c

#define CAT3_SEP_UNDERSCORE | ( | a,
|  | b,
|  | c |  | ) | #a "_" #b "_" #c

#define INVK_CAT2_RAW_NUMERIC | ( | a,
|  | b |  | ) | CAT2_RAW_NUMERIC(a,b)

#define INVK_CAT2_SEP_PERIOD | ( | a,
|  | b |  | ) | CAT2_SEP_PERIOD(a,b)

#define INVK_CAT2_SEP_UNDERSCORE | ( | a,
|  | b |  | ) | CAT2_SEP_UNDERSCORE(a,b)

#define INVK_CAT2_STR_SEP_NIL | ( | a,
|  | b |  | ) | CAT2_SEP_NIL(a,b)

#define INVK_CAT3_RAW_NUMERIC | ( | a,
|  | b,
|  | c |  | ) | CAT3_RAW_NUMERIC(a,b,c)

#define INVK_CAT3_RAW_NUMERIC_SEP_UNDERSCORE | ( | a,
|  | b,
|  | c |  | ) | CAT3_RAW_NUMERIC_SEP_UNDERSCORE(a,b,c)

#define INVK_CAT3_SEP_NIL | ( | a,
|  | b,
|  | c |  | ) | CAT3_SEP_NIL(a,b,c)

#define INVK_CAT3_SEP_PERIOD | ( | a,
|  | b,
|  | c |  | ) | CAT3_SEP_PERIOD(a,b,c)

#define INVK_CAT3_SEP_UNDERSCORE | ( | a,
|  | b,
|  | c |  | ) | CAT3_SEP_UNDERSCORE(a,b,c)

#define MULTIPLY | ( | factor,
|  | value |  | ) | factor * value

#define XERCES_CPP_NAMESPACE INVK_CAT3_RAW_NUMERIC_SEP_UNDERSCORE(XERCES_PRODUCT,XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR)

#define Xerces_DLLVersionStr XERCES_FULLVERSIONSTR

#define XERCES_FULLVERSIONDOT INVK_CAT3_SEP_PERIOD(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)

#define XERCES_FULLVERSIONNUM INVK_CAT3_SEP_NIL(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)

#define XERCES_FULLVERSIONSTR INVK_CAT3_SEP_UNDERSCORE(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR,XERCES_VERSION_REVISION)

#define XERCES_GRAMMAR_SERIALIZATION_LEVEL 5

#define XERCES_PRODUCT xercesc

#define XERCES_VERSION_MAJOR 2

User Documentation for Xerces Version Values:.

Xerces Notes:

Xerces Committers Documentation:

Xerces committers normally only need to modify one or two of the following macros:

XERCES_VERSION_MAJOR XERCES_VERSION_MINOR XERCES_VERSION_REVISION

The integer values of these macros define the Xerces version number. All other constants and preprocessor macros are automatically generated from these three definitions.

The macro XERCES_GRAMMAR_SERIALIZATION_LEVEL has been added so that during development if users are using the latest code they can use the grammar serialization/desialization features. Whenever a change is made to the serialization code this macro should be incremented.

Xerces User Documentation:

The following sections in the user documentation have examples based upon the following three version input values:

define XERCES_VERSION_MAJOR 19 define XERCES_VERSION_MINOR 3 define XERCES_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:

_XERCES_VERSION defines the primary preprocessor macro that users will introduce into their code to perform conditional compilation where the version of Xerces is detected in order to enable or disable version specific capabilities. The value of _XERCES_VERSION for the above example will be 190374. To use it a user would perform an operation such as the following:

if _XERCES_VERSION >= 190374 // code specific to new version of Xerces... else // old code here... endif

XERCES_FULLVERSIONSTR is a preprocessor macro that expands to a string constant whose value, for the above example, will be "19_3_74".

XERCES_FULLVERSIONDOT is a preprocessor macro that expands to a string constant whose value, for the above example, will be "19.3.74".

XERCES_VERSIONSTR is a preprocessor macro that expands to a string constant whose value, for the above example, will be "19_3". This particular macro is very dangerous if it were to be used for comparing version numbers since ordering will not be guaranteed.

Xerces_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 Xerces.

String Constants:

gXercesVersionStr is a global string constant whose value corresponds to the value "19_3" for the above example.

gXercesFullVersionStr is a global string constant whose value corresponds to the value "19_3_74" for the above example.

Numeric Constants:

gXercesMajVersion is a global integer constant whose value corresponds to the major version number. For the above example its value will be 19.

gXercesMinVersion is a global integer constant whose value corresponds to the minor version number. For the above example its value will be 3.

gXercesRevision 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 XERCES VERSION AND DO NOT MODIFY ANYTHING ELSE IN THIS VERSION HEADER FILE

#define XERCES_VERSION_MINOR 8

#define XERCES_VERSION_REVISION 0

#define XERCES_VERSIONSTR INVK_CAT2_SEP_UNDERSCORE(XERCES_VERSION_MAJOR,XERCES_VERSION_MINOR)

#define XERCESVERSION_HPP

## Variable Documentation

const char* const gXercesFullVersionStr = "2" "_" "8" "_" "0"

const unsigned int gXercesMajVersion = 2

const unsigned int gXercesMinVersion = 8

const unsigned int gXercesRevision = 0

const char* const gXercesVersionStr = "2" "_" "8"

Copyright © 1994-2004 The Apache Software Foundation. All Rights Reserved.