XMLString Class Reference

Class for representing native character strings and handling common string operations. More...

`#include <xercesc/util/XMLString.hpp>`

## Static Public Member Functions

String concatenation functions
static void | catString (char *const target, const char *const src)
| Concatenates two strings.
static void | catString (XMLCh *const target, const XMLCh *const src)
| Concatenates two strings.
String comparison functions
static int | compareIString (const char *const str1, const char *const str2)
| Lexicographically compares lowercase versions of `str1` and `str2` and returns a value indicating their relationship.
static int | compareIString (const XMLCh *const str1, const XMLCh *const str2)
| Lexicographically compares lowercase versions of `str1` and `str2` and returns a value indicating their relationship.
static int | compareIStringASCII (const XMLCh *const str1, const XMLCh *const str2)
| Lexicographically compares lowercase versions of `str1` and `str2` and returns a value indicating their relationship.
static int | compareNString (const char *const str1, const char *const str2, const XMLSize_t count)
| Lexicographically compares, at most, the first count characters in `str1` and `str2` and returns a value indicating the relationship between the substrings.
static int | compareNString (const XMLCh *const str1, const XMLCh *const str2, const XMLSize_t count)
| Lexicographically compares, at most, the first count characters in `str1` and `str2` and returns a value indicating the relationship between the substrings.
static int | compareNIString (const char *const str1, const char *const str2, const XMLSize_t count)
| Lexicographically compares, at most, the first count characters in `str1` and `str2` without regard to case and returns a value indicating the relationship between the substrings.
static int | compareNIString (const XMLCh *const str1, const XMLCh *const str2, const XMLSize_t count)
| Lexicographically compares, at most, the first count characters in `str1` and `str2` without regard to case and returns a value indicating the relationship between the substrings.
static int | compareString (const char *const str1, const char *const str2)
| Lexicographically compares `str1` and `str2` and returns a value indicating their relationship.
static int | compareString (const XMLCh *const str1, const XMLCh *const str2)
| Lexicographically compares `str1` and `str2` and returns a value indicating their relationship.
static bool | equals (const XMLCh *str1, const XMLCh *str2)
| compares `str1` and `str2`
static bool | equalsN (const XMLCh *str1, const XMLCh *str2, XMLSize_t n)
| compares `str1` and `str2`
static bool | equals (const char *str1, const char *str2)
static bool | equalsN (const char *str1, const char *str2, XMLSize_t n)
| compares `str1` and `str2`
static bool | regionMatches (const XMLCh *const str1, const int offset1, const XMLCh *const str2, const int offset2, const XMLSize_t charCount)
| Lexicographically compares `str1` and `str2` regions and returns true if they are equal, otherwise false.
static bool | regionIMatches (const XMLCh *const str1, const int offset1, const XMLCh *const str2, const int offset2, const XMLSize_t charCount)
| Lexicographically compares `str1` and `str2` regions without regard to case and returns true if they are equal, otherwise false.
String copy functions
static void | copyString (char *const target, const char *const src)
| Copies `src`, including the terminating null character, to the location specified by `target`.
static void | copyString (XMLCh *const target, const XMLCh *const src)
| Copies `src`, including the terminating null character, to the location specified by `target`.
static bool | copyNString (XMLCh *const target, const XMLCh *const src, const XMLSize_t maxChars)
| Copies `src`, upto a fixed number of characters, to the location specified by `target`.
Hash functions
static XMLSize_t | hash (const char *const toHash, const XMLSize_t hashModulus)
| Hashes a string given a modulus.
static XMLSize_t | hash (const XMLCh *const toHash, const XMLSize_t hashModulus)
| Hashes a string given a modulus.
static XMLSize_t | hashN (const XMLCh *const toHash, const XMLSize_t numChars, const XMLSize_t hashModulus)
| Hashes a string given a modulus taking a maximum number of characters as the limit.
Search functions
static int | indexOf (const char *const toSearch, const char ch)
| Provides the index of the first occurrence of a character within a string.
static int | indexOf (const XMLCh *const toSearch, const XMLCh ch)
| Provides the index of the first occurrence of a character within a string.
static int | indexOf (const char *const toSearch, const char chToFind, const XMLSize_t fromIndex, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Provides the index of the first occurrence of a character within a string starting from a given index.
static int | indexOf (const XMLCh *const toSearch, const XMLCh chToFind, const XMLSize_t fromIndex, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Provides the index of the first occurrence of a character within a string starting from a given index.
static int | lastIndexOf (const char *const toSearch, const char ch)
| Provides the index of the last occurrence of a character within a string.
static int | lastIndexOf (const XMLCh *const toSearch, const XMLCh ch)
| Provides the index of the last occurrence of a character within a string.
static int | lastIndexOf (const XMLCh ch, const XMLCh *const toSearch, const XMLSize_t toSearchLen)
| Provides the index of the last occurrence of a character within a string.
static int | lastIndexOf (const char *const toSearch, const char chToFind, const XMLSize_t fromIndex, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Provides the index of the last occurrence of a character within a string starting backward from a given index.
static int | lastIndexOf (const XMLCh *const toSearch, const XMLCh ch, const XMLSize_t fromIndex, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Provides the index of the last occurrence of a character within a string starting backward from a given index.
Fixed size string movement
static void | moveChars (XMLCh *const targetStr, const XMLCh *const srcStr, const XMLSize_t count)
| Moves X number of chars.
Substring function
static void | subString (char *const targetStr, const char *const srcStr, const XMLSize_t startIndex, const XMLSize_t endIndex, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Create a substring of a given string.
static void | subString (XMLCh *const targetStr, const XMLCh *const srcStr, const XMLSize_t startIndex, const XMLSize_t endIndex, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Create a substring of a given string.
static void | subString (XMLCh *const targetStr, const XMLCh *const srcStr, const XMLSize_t startIndex, const XMLSize_t endIndex, const XMLSize_t srcStrLength, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Create a substring of a given string.
Replication function
static char * | replicate (const char *const toRep, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Replicates a string NOTE: The returned buffer is allocated with the MemoryManager.
static XMLCh * | replicate (const XMLCh *const toRep, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Replicates a string NOTE: The returned buffer is allocated with the MemoryManager.
String query function
static bool | startsWith (const char *const toTest, const char *const prefix)
| Tells if the sub-string appears within a string at the beginning.
static bool | startsWith (const XMLCh *const toTest, const XMLCh *const prefix)
| Tells if the sub-string appears within a string at the beginning.
static bool | startsWithI (const char *const toTest, const char *const prefix)
| Tells if the sub-string appears within a string at the beginning without regard to case.
static bool | startsWithI (const XMLCh *const toTest, const XMLCh *const prefix)
| Tells if the sub-string appears within a string at the beginning without regard to case.
static bool | endsWith (const XMLCh *const toTest, const XMLCh *const suffix)
| Tells if the sub-string appears within a string at the end.
static const XMLCh * | findAny (const XMLCh *const toSearch, const XMLCh *const searchList)
| Tells if a string has any occurrence of any character of another string within itself.
static XMLCh * | findAny (XMLCh *const toSearch, const XMLCh *const searchList)
| Tells if a string has any occurrence of any character of another string within itself.
static int | patternMatch (const XMLCh *const toSearch, const XMLCh *const pattern)
| Tells if a string has pattern within itself.
static XMLSize_t | stringLen (const char *const src)
| Get the length of the string.
static XMLSize_t | stringLen (const XMLCh *const src)
| Get the length of the string.
static bool | isValidNOTATION (const XMLCh *const name, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Checks whether an name is a valid NOTATION according to XML 1.0.
static bool | isValidEncName (const XMLCh *const name)
| Checks whether an name is a valid EncName.
static bool | isAlpha (XMLCh const theChar)
| Checks whether a character is within [a-zA-Z].
static bool | isDigit (XMLCh const theChar)
| Checks whether a character is within [0-9].
static bool | isAlphaNum (XMLCh const theChar)
| Checks whether a character is within [0-9a-zA-Z].
static bool | isHex (XMLCh const theChar)
| Checks whether a character is within [0-9a-fA-F].
static bool | isInList (const XMLCh *const toFind, const XMLCh *const enumList)
| Find is the string appears in the enum list.
Conversion functions
static void | sizeToText (const XMLSize_t toFormat, char *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts size to a text string based a given radix.
static void | sizeToText (const XMLSize_t toFormat, XMLCh *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts size to a text string based a given radix.
static void | binToText (const unsigned int toFormat, char *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts binary data to a text string based a given radix.
static void | binToText (const unsigned int toFormat, XMLCh *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts binary data to a text string based a given radix.
static void | binToText (const unsigned long toFormat, char *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts binary data to a text string based a given radix.
static void | binToText (const unsigned long toFormat, XMLCh *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts binary data to a text string based a given radix.
static void | binToText (const int toFormat, char *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts binary data to a text string based a given radix.
static void | binToText (const int toFormat, XMLCh *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts binary data to a text string based a given radix.
static void | binToText (const long toFormat, char *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts binary data to a text string based a given radix.
static void | binToText (const long toFormat, XMLCh *const toFill, const XMLSize_t maxChars, const unsigned int radix, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts binary data to a text string based a given radix.
static bool | textToBin (const XMLCh *const toConvert, unsigned int &toFill, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts a string of decimal chars to a binary value.
static int | parseInt (const XMLCh *const toConvert, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Converts a string of decimal chars to a binary value.
static void | cut (XMLCh *const toCutFrom, const XMLSize_t count)
| Cut leading chars from a string.
static char * | transcode (const XMLCh *const toTranscode, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Transcodes a string to native code-page.
static bool | transcode (const XMLCh *const toTranscode, char *const toFill, const XMLSize_t maxChars, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Transcodes a string to native code-page (DEPRECATED)
static XMLCh * | transcode (const char *const toTranscode, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Transcodes a string to native code-page.
static bool | transcode (const char *const toTranscode, XMLCh *const toFill, const XMLSize_t maxChars, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Transcodes a string to native code-page (DEPRECATED)
static void | trim (char *const toTrim)
| Trims off extra space characters from the start and end of the string, moving the non-space string content back to the start.
static void | trim (XMLCh *const toTrim)
| Trims off extra space characters from the start and end of the string, moving the non-space string content back to the start.
static BaseRefVectorOf< XMLCh > * | tokenizeString (const XMLCh *const tokenizeSrc, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Break a string into tokens with space as delimiter, and stored in a string vector.
static BaseRefVectorOf< XMLCh > * | tokenizeString (const XMLCh *const tokenizeSrc, XMLCh delimiter, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Break a string into tokens with the given character as delimiter, and stored in a string vector.
Formatting functions
static XMLCh * | makeUName (const XMLCh *const pszURI, const XMLCh *const pszName)
| Creates a UName from a URI and base name.
static XMLSize_t | replaceTokens (XMLCh *const errText, const XMLSize_t maxChars, const XMLCh *const text1, const XMLCh *const text2, const XMLCh *const text3, const XMLCh *const text4, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Internal function to perform token replacement for strings.
static void | upperCase (XMLCh *const toUpperCase)
| Converts a string to uppercase.
static void | upperCaseASCII (XMLCh *const toUpperCase)
| Converts a string to uppercase The routine only uppercases A to Z (other characters not changed).
static void | lowerCase (XMLCh *const toLowerCase)
| Converts a string to lowercase.
static void | lowerCaseASCII (XMLCh *const toLowerCase)
| Converts a string to lowercase The routine only lowercases a to z (other characters not changed).
static bool | isWSReplaced (const XMLCh *const toCheck)
| Check if string is WhiteSpace:replace.
static bool | isWSCollapsed (const XMLCh *const toCheck)
| Check if string is WhiteSpace:collapse.
static void | replaceWS (XMLCh *toConvert, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Replace whitespace.
static void | collapseWS (XMLCh *toConvert, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Collapse whitespace.
static void | removeWS (XMLCh *toConvert, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Remove whitespace.
static void | removeChar (const XMLCh *const srcString, const XMLCh &toRemove, XMLBuffer &dstBuffer)
| Remove character.
static void | fixURI (const XMLCh *const str, XMLCh *const target)
| Fixes a platform dependent absolute path filename to standard URI form.
String Memory Management functions
static void | release (char **buf, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Release the parameter string that was allocated by XMLString::transcode and XMLString::replicate.
static void | release (XMLCh **buf, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
| Release the parameter string that was allocated by XMLString::transcode and XMLString::replicate.

## Initialization

class | XMLPlatformUtils

## Detailed Description

Class for representing native character strings and handling common string operations.

This class is Unicode compliant. This class is designed primarily for internal use, but due to popular demand, it is being made publicly available. Users of this class must understand that this is not an officially supported class. All public methods of this class are static functions.

## Member Function Documentation

## binToText() [1/8]

static void XMLString::binToText | ( | const int | toFormat,
|  | char *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts binary data to a text string based a given radix.

Parameters

  toFormat | The number to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## binToText() [2/8]

static void XMLString::binToText | ( | const int | toFormat,
|  | XMLCh *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts binary data to a text string based a given radix.

Parameters

  toFormat | The number to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## binToText() [3/8]

static void XMLString::binToText | ( | const long | toFormat,
|  | char *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts binary data to a text string based a given radix.

Parameters

  toFormat | The number to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## binToText() [4/8]

static void XMLString::binToText | ( | const long | toFormat,
|  | XMLCh *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts binary data to a text string based a given radix.

Parameters

  toFormat | The number to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## binToText() [5/8]

static void XMLString::binToText | ( | const unsigned int | toFormat,
|  | char *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts binary data to a text string based a given radix.

Parameters

  toFormat | The number to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## binToText() [6/8]

static void XMLString::binToText | ( | const unsigned int | toFormat,
|  | XMLCh *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts binary data to a text string based a given radix.

Parameters

  toFormat | The number to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## binToText() [7/8]

static void XMLString::binToText | ( | const unsigned long | toFormat,
|  | char *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts binary data to a text string based a given radix.

Parameters

  toFormat | The number to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## binToText() [8/8]

static void XMLString::binToText | ( | const unsigned long | toFormat,
|  | XMLCh *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts binary data to a text string based a given radix.

Parameters

  toFormat | The number to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## catString() [1/2]

static void XMLString::catString | ( | char *const | target,
|  | const char *const | src )

static

Concatenates two strings.

`catString` appends `src` to `target` and terminates the resulting string with a null character. The initial character of `src` overwrites the terminating character of `target` .

No overflow checking is performed when strings are copied or appended. The behavior of `catString` is undefined if source and destination strings overlap.

Parameters

  target | Null-terminated destination string
  src | Null-terminated source string

## catString() [2/2]

static void XMLString::catString | ( | XMLCh *const | target,
|  | const XMLCh *const | src )

static

Concatenates two strings.

`catString` appends `src` to `target` and terminates the resulting string with a null character. The initial character of `src` overwrites the terminating character of `target`. No overflow checking is performed when strings are copied or appended. The behavior of `catString` is undefined if source and destination strings overlap.

Parameters

  target | Null-terminated destination string
  src | Null-terminated source string

## collapseWS()

static void XMLString::collapseWS | ( | XMLCh * | toConvert,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Collapse whitespace.

Parameters

  toConvert | The string which needs to be whitespace collapsed. On return , this buffer also holds the converted string
  manager | The MemoryManager to use to allocate objects

## compareIString() [1/2]

static int XMLString::compareIString | ( | const char *const | str1,
|  | const char *const | str2 )

static

Lexicographically compares lowercase versions of `str1` and `str2` and returns a value indicating their relationship.

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

## compareIString() [2/2]

static int XMLString::compareIString | ( | const XMLCh *const | str1,
|  | const XMLCh *const | str2 )

static

Lexicographically compares lowercase versions of `str1` and `str2` and returns a value indicating their relationship.

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

## compareIStringASCII()

static int XMLString::compareIStringASCII | ( | const XMLCh *const | str1,
|  | const XMLCh *const | str2 )

static

Lexicographically compares lowercase versions of `str1` and `str2` and returns a value indicating their relationship.

The routine only lowercases A to Z.

Parameters

  str1 | Null-terminated ASCII string to compare
  str2 | Null-terminated ASCII string to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

## compareNIString() [1/2]

static int XMLString::compareNIString | ( | const char *const | str1,
|  | const char *const | str2,
|  | const XMLSize_t | count )

static

Lexicographically compares, at most, the first count characters in `str1` and `str2` without regard to case and returns a value indicating the relationship between the substrings.

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare
  count | The number of characters to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

Referenced by startsWithI().

## compareNIString() [2/2]

static int XMLString::compareNIString | ( | const XMLCh *const | str1,
|  | const XMLCh *const | str2,
|  | const XMLSize_t | count )

static

Lexicographically compares, at most, the first count characters in `str1` and `str2` without regard to case and returns a value indicating the relationship between the substrings.

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare
  count | The number of characters to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

## compareNString() [1/2]

static int XMLString::compareNString | ( | const char *const | str1,
|  | const char *const | str2,
|  | const XMLSize_t | count )

static

Lexicographically compares, at most, the first count characters in `str1` and `str2` and returns a value indicating the relationship between the substrings.

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare
  count | The number of characters to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

Referenced by startsWith().

## compareNString() [2/2]

static int XMLString::compareNString | ( | const XMLCh *const | str1,
|  | const XMLCh *const | str2,
|  | const XMLSize_t | count )

static

Lexicographically compares, at most, the first count characters in `str1` and `str2` and returns a value indicating the relationship between the substrings.

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare
  count | The number of characters to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

## compareString() [1/2]

static int XMLString::compareString | ( | const char *const | str1,
|  | const char *const | str2 )

static

Lexicographically compares `str1` and `str2` and returns a value indicating their relationship.

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

## compareString() [2/2]

static int XMLString::compareString | ( | const XMLCh *const | str1,
|  | const XMLCh *const | str2 )

static

Lexicographically compares `str1` and `str2` and returns a value indicating their relationship.

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare

Returns
  The return value indicates the relation of `str1` to `str2` as follows Less than 0 means `str1` is less than `str2` Equal to 0 means `str1` is identical to `str2` Greater than 0 means `str1` is more than `str2`

## copyNString()

static bool XMLString::copyNString | ( | XMLCh *const | target,
|  | const XMLCh *const | src,
|  | const XMLSize_t | maxChars )

static

Copies `src`, upto a fixed number of characters, to the location specified by `target`.

No overflow checking is performed when strings are copied or appended. The behavior of `copyNString` is undefined if the source and destination strings overlap.

Parameters

  target | Destination string. The size of the buffer should atleast be 'maxChars + 1'.
  src | Null-terminated source string
  maxChars | The maximum number of characters to copy

## copyString() [1/2]

static void XMLString::copyString | ( | char *const | target,
|  | const char *const | src )

static

Copies `src`, including the terminating null character, to the location specified by `target`.

No overflow checking is performed when strings are copied or appended. The behavior of strcpy is undefined if the source and destination strings overlap.

Parameters

  target | Destination string
  src | Null-terminated source string

## copyString() [2/2]

static void XMLString::copyString | ( | XMLCh *const | target,
|  | const XMLCh *const | src )

static

Copies `src`, including the terminating null character, to the location specified by `target`.

No overflow checking is performed when strings are copied or appended. The behavior of `copyString` is undefined if the source and destination strings overlap.

Parameters

  target | Destination string
  src | Null-terminated source string

## cut()

static void XMLString::cut | ( | XMLCh *const | toCutFrom,
|  | const XMLSize_t | count )

static

Cut leading chars from a string.

Parameters

  toCutFrom | The string to cut chars from
  count | The count of leading chars to cut

## endsWith()

bool XMLString::endsWith | ( | const XMLCh *const | toTest,
|  | const XMLCh *const | suffix )

static

Tells if the sub-string appears within a string at the end.

Parameters

  toTest | The string to test
  suffix | The sub-string that needs to be checked

Returns
  Returns true if the sub-string was found at the end of `toTest`, else false

References regionMatches(), and stringLen().

## equals() [1/2]

bool XMLString::equals | ( | const char * | str1,
|  | const char * | str2 )

static

## equals() [2/2]

bool XMLString::equals | ( | const XMLCh * | str1,
|  | const XMLCh * | str2 )

static

compares `str1` and `str2`

Parameters

  str1 | Null-terminated string to compare
  str2 | Null-terminated string to compare

Returns
  true if two strings are equal, false if not If one string is null, while the other is zero-length string, it is considered as equal.

## equalsN() [1/2]

bool XMLString::equalsN | ( | const char * | str1,
|  | const char * | str2,
|  | XMLSize_t | n )

static

compares `str1` and `str2`

Parameters

  str1 | string to compare
  str2 | string to compare
  n | number of characters to compare

Returns
  true if two strings are equal, false if not If one string is null, while the other is zero-length string, it is considered as equal.

## equalsN() [2/2]

bool XMLString::equalsN | ( | const XMLCh * | str1,
|  | const XMLCh * | str2,
|  | XMLSize_t | n )

static

compares `str1` and `str2`

Parameters

  str1 | string to compare
  str2 | string to compare
  n | number of characters to compare

Returns
  true if two strings are equal, false if not If one string is null, while the other is zero-length string, it is considered as equal.

## findAny() [1/2]

static const XMLCh * XMLString::findAny | ( | const XMLCh *const | toSearch,
|  | const XMLCh *const | searchList )

static

Tells if a string has any occurrence of any character of another string within itself.

Parameters

  toSearch | The string to be searched
  searchList | The string from which characters to be searched for are drawn

Returns
  Returns the pointer to the location where the first occurrence of any character from searchList is found, else returns 0

## findAny() [2/2]

static XMLCh * XMLString::findAny | ( | XMLCh *const | toSearch,
|  | const XMLCh *const | searchList )

static

Tells if a string has any occurrence of any character of another string within itself.

Parameters

  toSearch | The string to be searched
  searchList | The string from which characters to be searched for are drawn

Returns
  Returns the pointer to the location where the first occurrence of any character from searchList is found, else returns 0

## fixURI()

static void XMLString::fixURI | ( | const XMLCh *const | str,
|  | XMLCh *const | target )

static

Fixes a platform dependent absolute path filename to standard URI form.

1. Windows: fix 'x:' to 'file:///x:' and convert any backslash to forward slash
2. UNIX: fix '/blah/blahblah' to 'file:///blah/blahblah'
   Parameters

     str | The string that has the absolute path filename
     target | The target string pre-allocated to store the fixed uri

## hash() [1/2]

static XMLSize_t XMLString::hash | ( | const char *const | toHash,
|  | const XMLSize_t | hashModulus )

static

Hashes a string given a modulus.

Parameters

  toHash | The string to hash
  hashModulus | The divisor to be used for hashing

Returns
  Returns the hash value

## hash() [2/2]

XMLSize_t XMLString::hash | ( | const XMLCh *const | toHash,
|  | const XMLSize_t | hashModulus )

static

Hashes a string given a modulus.

Parameters

  toHash | The string to hash
  hashModulus | The divisor to be used for hashing

Returns
  Returns the hash value

## hashN()

XMLSize_t XMLString::hashN | ( | const XMLCh *const | toHash,
|  | const XMLSize_t | numChars,
|  | const XMLSize_t | hashModulus )

static

Hashes a string given a modulus taking a maximum number of characters as the limit.

Parameters

  toHash | The string to hash
  numChars | The maximum number of characters to consider for hashing
  hashModulus | The divisor to be used for hashing

Returns
  Returns the hash value

## indexOf() [1/4]

static int XMLString::indexOf | ( | const char *const | toSearch,
|  | const char | ch )

static

Provides the index of the first occurrence of a character within a string.

Parameters

  toSearch | The string to search
  ch | The character to search within the string

Returns
  If found, returns the index of the character within the string, else returns -1.

## indexOf() [2/4]

static int XMLString::indexOf | ( | const char *const | toSearch,
|  | const char | chToFind,
|  | const XMLSize_t | fromIndex,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Provides the index of the first occurrence of a character within a string starting from a given index.

Parameters

  toSearch | The string to search
  chToFind | The character to search within the string
  fromIndex | The index to start searching from
  manager | The MemoryManager to use to allocate objects

Returns
  If found, returns the index of the character within the string, else returns -1.

## indexOf() [3/4]

static int XMLString::indexOf | ( | const XMLCh *const | toSearch,
|  | const XMLCh | ch )

static

Provides the index of the first occurrence of a character within a string.

Parameters

  toSearch | The string to search
  ch | The character to search within the string

Returns
  If found, returns the index of the character within the string, else returns -1.

## indexOf() [4/4]

static int XMLString::indexOf | ( | const XMLCh *const | toSearch,
|  | const XMLCh | chToFind,
|  | const XMLSize_t | fromIndex,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Provides the index of the first occurrence of a character within a string starting from a given index.

Parameters

  toSearch | The string to search
  chToFind | The character to search within the string
  fromIndex | The index to start searching from
  manager | The MemoryManager to use to allocate objects

Returns
  If found, returns the index of the character within the string, else returns -1.

## isAlpha()

static bool XMLString::isAlpha | ( | XMLCh const | theChar | ) |

static

Checks whether a character is within [a-zA-Z].

Parameters

  theChar | the character to check

Returns
  Returns true if within the range, otherwise false

## isAlphaNum()

static bool XMLString::isAlphaNum | ( | XMLCh const | theChar | ) |

static

Checks whether a character is within [0-9a-zA-Z].

Parameters

  theChar | the character to check

Returns
  Returns true if within the range, otherwise false

## isDigit()

static bool XMLString::isDigit | ( | XMLCh const | theChar | ) |

static

Checks whether a character is within [0-9].

Parameters

  theChar | the character to check

Returns
  Returns true if within the range, otherwise false

## isHex()

static bool XMLString::isHex | ( | XMLCh const | theChar | ) |

static

Checks whether a character is within [0-9a-fA-F].

Parameters

  theChar | the character to check

Returns
  Returns true if within the range, otherwise false

## isInList()

static bool XMLString::isInList | ( | const XMLCh *const | toFind,
|  | const XMLCh *const | enumList )

static

Find is the string appears in the enum list.

Parameters

  toFind | the string to be found
  enumList | the list return true if found

## isValidEncName()

static bool XMLString::isValidEncName | ( | const XMLCh *const | name | ) |

static

Checks whether an name is a valid EncName.

Parameters

  name | The string to check its EncName validity

Returns
  Returns true if name is EncName valid, otherwise false

## isValidNOTATION()

static bool XMLString::isValidNOTATION | ( | const XMLCh *const | name,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Checks whether an name is a valid NOTATION according to XML 1.0.

Parameters

  name | The string to check its NOTATION validity
  manager | The memory manager

Returns
  Returns true if name is NOTATION valid, otherwise false

## isWSCollapsed()

static bool XMLString::isWSCollapsed | ( | const XMLCh *const | toCheck | ) |

static

Check if string is WhiteSpace:collapse.

Parameters

  toCheck | The string which needs to be checked.

## isWSReplaced()

static bool XMLString::isWSReplaced | ( | const XMLCh *const | toCheck | ) |

static

Check if string is WhiteSpace:replace.

Parameters

  toCheck | The string which needs to be checked.

## lastIndexOf() [1/5]

static int XMLString::lastIndexOf | ( | const char *const | toSearch,
|  | const char | ch )

static

Provides the index of the last occurrence of a character within a string.

Parameters

  toSearch | The string to search
  ch | The character to search within the string

Returns
  If found, returns the index of the character within the string, else returns -1.

Referenced by lastIndexOf().

## lastIndexOf() [2/5]

static int XMLString::lastIndexOf | ( | const char *const | toSearch,
|  | const char | chToFind,
|  | const XMLSize_t | fromIndex,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Provides the index of the last occurrence of a character within a string starting backward from a given index.

Parameters

  toSearch | The string to search
  chToFind | The character to search within the string
  fromIndex | The index to start backward search from
  manager | The MemoryManager to use to allocate objects

Returns
  If found, returns the index of the character within the string, else returns -1.

## lastIndexOf() [3/5]

int XMLString::lastIndexOf | ( | const XMLCh *const | toSearch,
|  | const XMLCh | ch )

static

Provides the index of the last occurrence of a character within a string.

Parameters

  toSearch | The string to search
  ch | The character to search within the string

Returns
  If found, returns the index of the character within the string, else returns -1.

References lastIndexOf(), and stringLen().

## lastIndexOf() [4/5]

static int XMLString::lastIndexOf | ( | const XMLCh *const | toSearch,
|  | const XMLCh | ch,
|  | const XMLSize_t | fromIndex,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Provides the index of the last occurrence of a character within a string starting backward from a given index.

Parameters

  toSearch | The string to search
  ch | The character to search within the string
  fromIndex | The index to start backward search from
  manager | The MemoryManager to use to allocate objects

Returns
  If found, returns the index of the character within the string, else returns -1.

## lastIndexOf() [5/5]

static int XMLString::lastIndexOf | ( | const XMLCh | ch,
|  | const XMLCh *const | toSearch,
|  | const XMLSize_t | toSearchLen )

static

Provides the index of the last occurrence of a character within a string.

Parameters

  ch | The character to search within the string
  toSearch | The string to search
  toSearchLen | The length of the string to search

Returns
  If found, returns the index of the character within the string, else returns -1.

## lowerCase()

static void XMLString::lowerCase | ( | XMLCh *const | toLowerCase | ) |

static

Converts a string to lowercase.

Parameters

  toLowerCase | The string which needs to be converted to lowercase. On return, this buffer also holds the converted lowercase string

## lowerCaseASCII()

static void XMLString::lowerCaseASCII | ( | XMLCh *const | toLowerCase | ) |

static

Converts a string to lowercase The routine only lowercases a to z (other characters not changed).

Parameters

  toLowerCase | The string which needs to be converted to lowercase. On return, this buffer also holds the converted lowercase string

## makeUName()

static XMLCh * XMLString::makeUName | ( | const XMLCh *const | pszURI,
|  | const XMLCh *const | pszName )

static

Creates a UName from a URI and base name.

It is in the form {url}name, and is commonly used internally to represent fully qualified names when namespaces are enabled.

Parameters

  pszURI | The URI part of the name
  pszName | The base part of the name

Returns
  Returns the complete formatted UName

## moveChars()

void XMLString::moveChars | ( | XMLCh *const | targetStr,
|  | const XMLCh *const | srcStr,
|  | const XMLSize_t | count )

static

Moves X number of chars.

Parameters

  targetStr | The string to copy the chars to
  srcStr | The string to copy the chars from
  count | The number of chars to move

## parseInt()

static int XMLString::parseInt | ( | const XMLCh *const | toConvert,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts a string of decimal chars to a binary value.

Note that leading and trailing whitespace is legal and will be ignored,

Only one and either of (+,-) after the leading whitespace, before any other characters are allowed.

but the remainder must be all decimal digits.

Parameters

  toConvert | The string of digits to convert
  manager | The MemoryManager to use to allocate objects

## patternMatch()

static int XMLString::patternMatch | ( | const XMLCh *const | toSearch,
|  | const XMLCh *const | pattern )

static

Tells if a string has pattern within itself.

Parameters

  toSearch | The string to be searched
  pattern | The pattern to be located within the string

Returns
  Returns index to the location where the pattern was found, else returns -1

## regionIMatches()

static bool XMLString::regionIMatches | ( | const XMLCh *const | str1,
|  | const int | offset1,
|  | const XMLCh *const | str2,
|  | const int | offset2,
|  | const XMLSize_t | charCount )

static

Lexicographically compares `str1` and `str2` regions without regard to case and returns true if they are equal, otherwise false.

A substring of `str1` is compared to a substring of `str2`. The result is true if these substrings represent identical character sequences. The substring of `str1` to be compared begins at offset1 and has length charCount. The substring of `str2` to be compared begins at offset2 and has length charCount. The result is false if and only if at least one of the following is true: offset1 is negative. offset2 is negative. offset1+charCount is greater than the length of str1. offset2+charCount is greater than the length of str2. There is some nonnegative integer k less than charCount such that: str1.charAt(offset1+k) != str2.charAt(offset2+k)

Parameters

  str1 | Null-terminated string to compare
  offset1 | Starting offset of str1
  str2 | Null-terminated string to compare
  offset2 | Starting offset of str2
  charCount | The number of characters to compare

Returns
  true if the specified subregion of `str1` exactly matches the specified subregion of `str2>`; false otherwise.

## regionMatches()

static bool XMLString::regionMatches | ( | const XMLCh *const | str1,
|  | const int | offset1,
|  | const XMLCh *const | str2,
|  | const int | offset2,
|  | const XMLSize_t | charCount )

static

Lexicographically compares `str1` and `str2` regions and returns true if they are equal, otherwise false.

A substring of `str1` is compared to a substring of `str2`. The result is true if these substrings represent identical character sequences. The substring of `str1` to be compared begins at offset1 and has length charCount. The substring of `str2` to be compared begins at offset2 and has length charCount. The result is false if and only if at least one of the following is true: offset1 is negative. offset2 is negative. offset1+charCount is greater than the length of str1. offset2+charCount is greater than the length of str2. There is some nonnegative integer k less than charCount such that: str1.charAt(offset1+k) != str2.charAt(offset2+k)

Parameters

  str1 | Null-terminated string to compare
  offset1 | Starting offset of str1
  str2 | Null-terminated string to compare
  offset2 | Starting offset of str2
  charCount | The number of characters to compare

Returns
  true if the specified subregion of `str1` exactly matches the specified subregion of `str2>`; false otherwise.

Referenced by endsWith().

## release() [1/2]

static void XMLString::release | ( | char ** | buf,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Release the parameter string that was allocated by XMLString::transcode and XMLString::replicate.

The implementation will call MemoryManager::deallocate and then turn the string to a null pointer.

Parameters

  buf | The string to be deleted and become a null pointer.
  manager | The MemoryManager used to allocate the string

## release() [2/2]

static void XMLString::release | ( | XMLCh ** | buf,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Release the parameter string that was allocated by XMLString::transcode and XMLString::replicate.

The implementation will call MemoryManager::deallocate and then turn the string to a null pointer.

Parameters

  buf | The string to be deleted and become a null pointer.
  manager | The MemoryManager used to allocate the string

## removeChar()

static void XMLString::removeChar | ( | const XMLCh *const | srcString,
|  | const XMLCh & | toRemove,
|  | XMLBuffer & | dstBuffer )

static

Remove character.

Parameters

  srcString | The string
  toRemove | The character needs to be removed from the string
  dstBuffer | The buffer containing the result

## removeWS()

static void XMLString::removeWS | ( | XMLCh * | toConvert,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Remove whitespace.

Parameters

  toConvert | The string which needs to be whitespace removed. On return , this buffer also holds the converted string
  manager | The MemoryManager to use to allocate objects

## replaceTokens()

static XMLSize_t XMLString::replaceTokens | ( | XMLCh *const | errText,
|  | const XMLSize_t | maxChars,
|  | const XMLCh *const | text1,
|  | const XMLCh *const | text2,
|  | const XMLCh *const | text3,
|  | const XMLCh *const | text4,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Internal function to perform token replacement for strings.

Parameters

  errText | The text (NULL terminated) where the replacement is to be done. The size of this buffer should be 'maxChars + 1' to account for the final NULL.
  maxChars | The size of the output buffer, i.e. the maximum number of characters that it will hold. If the result is larger, it will be truncated.
  text1 | Replacement text-one
  text2 | Replacement text-two
  text3 | Replacement text-three
  text4 | Replacement text-four
  manager | The MemoryManager to use to allocate objects

Returns
  Returns the count of characters that are outputted

## replaceWS()

static void XMLString::replaceWS | ( | XMLCh * | toConvert,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Replace whitespace.

Parameters

  toConvert | The string which needs to be whitespace replaced. On return , this buffer also holds the converted string
  manager | The MemoryManager to use to allocate objects

## replicate() [1/2]

static char * XMLString::replicate | ( | const char *const | toRep,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Replicates a string NOTE: The returned buffer is allocated with the MemoryManager.

It is the responsibility of the caller to delete it when not longer needed. You can call XMLString::release to release this returned buffer.

Parameters

  toRep | The string to replicate
  manager | The MemoryManager to use to allocate the string

Returns
  Returns a pointer to the replicated string

See also
  XMLString::release(char**, MemoryManager*)

Referenced by SAXException::operator=(), XMLEntityDecl::setBaseURI(), XMLNotationDecl::setBaseURI(), XMLAttDef::setEnumeration(), XMLEntityDecl::setNotationName(), XMLEntityDecl::setPublicId(), XMLNotationDecl::setPublicId(), XMLEntityDecl::setSystemId(), XMLNotationDecl::setSystemId(), XMLAttDef::setValue(), XMLEntityDecl::setValue(), and AbstractDOMParser::useImplementation().

## replicate() [2/2]

XMLCh * XMLString::replicate | ( | const XMLCh *const | toRep,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Replicates a string NOTE: The returned buffer is allocated with the MemoryManager.

It is the responsibility of the caller to delete it when not longer needed. You can call XMLString::release to release this returned buffer.

Parameters

  toRep | The string to replicate
  manager | The MemoryManager to use to allocate the string

Returns
  Returns a pointer to the replicated string

See also
  XMLString::release(XMLCh**, MemoryManager*)

References MemoryManager::allocate(), and stringLen().

## sizeToText() [1/2]

static void XMLString::sizeToText | ( | const XMLSize_t | toFormat,
|  | char *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts size to a text string based a given radix.

Parameters

  toFormat | The size to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## sizeToText() [2/2]

static void XMLString::sizeToText | ( | const XMLSize_t | toFormat,
|  | XMLCh *const | toFill,
|  | const XMLSize_t | maxChars,
|  | const unsigned int | radix,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts size to a text string based a given radix.

Parameters

  toFormat | The size to convert
  toFill | The buffer that will hold the output on return. The size of this buffer should at least be 'maxChars + 1'.
  maxChars | The maximum number of output characters that can be accepted. If the result will not fit, it is an error.
  radix | The radix of the input data, based on which the conversion
  manager | The MemoryManager to use to allocate objects will be done

## startsWith() [1/2]

static bool XMLString::startsWith | ( | const char *const | toTest,
|  | const char *const | prefix )

static

Tells if the sub-string appears within a string at the beginning.

Parameters

  toTest | The string to test
  prefix | The sub-string that needs to be checked

Returns
  Returns true if the sub-string was found at the beginning of `toTest`, else false

## startsWith() [2/2]

bool XMLString::startsWith | ( | const XMLCh *const | toTest,
|  | const XMLCh *const | prefix )

static

Tells if the sub-string appears within a string at the beginning.

Parameters

  toTest | The string to test
  prefix | The sub-string that needs to be checked

Returns
  Returns true if the sub-string was found at the beginning of `toTest`, else false

References compareNString(), and stringLen().

## startsWithI() [1/2]

static bool XMLString::startsWithI | ( | const char *const | toTest,
|  | const char *const | prefix )

static

Tells if the sub-string appears within a string at the beginning without regard to case.

Parameters

  toTest | The string to test
  prefix | The sub-string that needs to be checked

Returns
  Returns true if the sub-string was found at the beginning of `toTest`, else false

## startsWithI() [2/2]

bool XMLString::startsWithI | ( | const XMLCh *const | toTest,
|  | const XMLCh *const | prefix )

static

Tells if the sub-string appears within a string at the beginning without regard to case.

Parameters

  toTest | The string to test
  prefix | The sub-string that needs to be checked

Returns
  Returns true if the sub-string was found at the beginning of `toTest`, else false

References compareNIString(), and stringLen().

## stringLen() [1/2]

static XMLSize_t XMLString::stringLen | ( | const char *const | src | ) |

static

Get the length of the string.

Parameters

  src | The string whose length is to be determined

Returns
  Returns the length of the string

Referenced by endsWith(), XMLBigInteger::getTotalDigit(), lastIndexOf(), replicate(), XMLDateTime::setBuffer(), QName::setLocalPart(), QName::setPrefix(), XMLEntityDecl::setValue(), startsWith(), and startsWithI().

## stringLen() [2/2]

XMLSize_t XMLString::stringLen | ( | const XMLCh *const | src | ) |

static

Get the length of the string.

Parameters

  src | The string whose length is to be determined

Returns
  Returns the length of the string

## subString() [1/3]

static void XMLString::subString | ( | char *const | targetStr,
|  | const char *const | srcStr,
|  | const XMLSize_t | startIndex,
|  | const XMLSize_t | endIndex,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Create a substring of a given string.

The substring begins at the specified beginIndex and extends to the character at index endIndex - 1.

Parameters

  targetStr | The string to copy the chars to
  srcStr | The string to copy the chars from
  startIndex | beginning index, inclusive.
  endIndex | the ending index, exclusive.
  manager | The MemoryManager to use to allocate objects

## subString() [2/3]

static void XMLString::subString | ( | XMLCh *const | targetStr,
|  | const XMLCh *const | srcStr,
|  | const XMLSize_t | startIndex,
|  | const XMLSize_t | endIndex,
|  | const XMLSize_t | srcStrLength,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Create a substring of a given string.

The substring begins at the specified beginIndex and extends to the character at index endIndex - 1.

Parameters

  targetStr | The string to copy the chars to
  srcStr | The string to copy the chars from
  startIndex | beginning index, inclusive.
  endIndex | the ending index, exclusive.
  srcStrLength | the length of srcStr
  manager | The MemoryManager to use to allocate objects

## subString() [3/3]

static void XMLString::subString | ( | XMLCh *const | targetStr,
|  | const XMLCh *const | srcStr,
|  | const XMLSize_t | startIndex,
|  | const XMLSize_t | endIndex,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Create a substring of a given string.

The substring begins at the specified beginIndex and extends to the character at index endIndex - 1.

Parameters

  targetStr | The string to copy the chars to
  srcStr | The string to copy the chars from
  startIndex | beginning index, inclusive.
  endIndex | the ending index, exclusive.
  manager | The MemoryManager to use to allocate objects

## textToBin()

static bool XMLString::textToBin | ( | const XMLCh *const | toConvert,
|  | unsigned int & | toFill,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Converts a string of decimal chars to a binary value.

Note that leading and trailing whitespace is legal and will be ignored but the remainder must be all decimal digits.

Parameters

  toConvert | The string of digits to convert
  toFill | The unsigned int value to fill with the converted value.
  manager | The MemoryManager to use to allocate objects

## tokenizeString() [1/2]

static BaseRefVectorOf< XMLCh > * XMLString::tokenizeString | ( | const XMLCh *const | tokenizeSrc,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Break a string into tokens with space as delimiter, and stored in a string vector.

The caller owns the string vector that is returned, and is responsible for deleting it.

Parameters

  tokenizeSrc | String to be tokenized
  manager | The MemoryManager to use to allocate objects

Returns
  a vector of all the tokenized string

## tokenizeString() [2/2]

static BaseRefVectorOf< XMLCh > * XMLString::tokenizeString | ( | const XMLCh *const | tokenizeSrc,
|  | XMLCh | delimiter,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Break a string into tokens with the given character as delimiter, and stored in a string vector.

The caller owns the string vector that is returned, and is responsible for deleting it.

Parameters

  tokenizeSrc | String to be tokenized
  delimiter | Delimiter character
  manager | The MemoryManager to use to allocate objects

Returns
  a vector of all the tokenized string

## transcode() [1/4]

static XMLCh * XMLString::transcode | ( | const char *const | toTranscode,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Transcodes a string to native code-page.

NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call XMLString::release to release this returned buffer.

Parameters

  toTranscode | The string to be transcoded
  manager | The MemoryManager to use to allocate objects

Returns
  Returns the transcoded string

See also
  XMLString::release(char**, MemoryManager*)

## transcode() [2/4]

static bool XMLString::transcode | ( | const char *const | toTranscode,
|  | XMLCh *const | toFill,
|  | const XMLSize_t | maxChars,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Transcodes a string to native code-page (DEPRECATED)

Parameters

  toTranscode | The string tobe transcoded
  toFill | The buffer that is filled with the transcoded value. The size of this buffer should atleast be 'maxChars + 1'.
  maxChars | The maximum number of characters that the output buffer can hold (not including the null, which is why toFill should be at least maxChars+1.).
  manager | The MemoryManager to use to allocate objects

Returns
  Returns true if successful, false if there was an error

## transcode() [3/4]

static bool XMLString::transcode | ( | const XMLCh *const | toTranscode,
|  | char *const | toFill,
|  | const XMLSize_t | maxChars,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Transcodes a string to native code-page (DEPRECATED)

Be aware that when transcoding to an external encoding, that each Unicode char can create multiple output bytes. So you cannot assume a one to one correspondence of input chars to output bytes.

Parameters

  toTranscode | The string tobe transcoded
  toFill | The buffer that is filled with the transcoded value. The size of this buffer should atleast be 'maxChars + 1'.
  maxChars | The maximum number of bytes that the output buffer can hold (not including the null, which is why toFill should be at least maxChars+1.).
  manager | The MemoryManager to use to allocate objects

Returns
  Returns true if successful, false if there was an error

## transcode() [4/4]

static char * XMLString::transcode | ( | const XMLCh *const | toTranscode,
|  | MemoryManager *const | manager = XMLPlatformUtils::fgMemoryManager )

static

Transcodes a string to native code-page.

NOTE: The returned buffer is dynamically allocated and is the responsibility of the caller to delete it when not longer needed. You can call XMLString::release to release this returned buffer.

Parameters

  toTranscode | The string to be transcoded
  manager | The MemoryManager to use to allocate objects

Returns
  Returns the transcoded string

See also
  XMLString::release(XMLCh**, MemoryManager*)

## trim() [1/2]

static void XMLString::trim | ( | char *const | toTrim | ) |

static

Trims off extra space characters from the start and end of the string, moving the non-space string content back to the start.

Parameters

  toTrim | The string to be trimmed. On return this contains the trimmed string

## trim() [2/2]

static void XMLString::trim | ( | XMLCh *const | toTrim | ) |

static

Trims off extra space characters from the start and end of the string, moving the non-space string content back to the start.

Parameters

  toTrim | The string to be trimmed. On return this contains the trimmed string

## upperCase()

static void XMLString::upperCase | ( | XMLCh *const | toUpperCase | ) |

static

Converts a string to uppercase.

Parameters

  toUpperCase | The string which needs to be converted to uppercase. On return, this buffer also holds the converted uppercase string

## upperCaseASCII()

static void XMLString::upperCaseASCII | ( | XMLCh *const | toUpperCase | ) |

static

Converts a string to uppercase The routine only uppercases A to Z (other characters not changed).

Parameters

  toUpperCase | The string which needs to be converted to uppercase. On return, this buffer also holds the converted uppercase string

## Friends And Related Symbol Documentation

## XMLPlatformUtils

friend class XMLPlatformUtils

friend

The documentation for this class was generated from the following file:

- XMLString.hpp