# XMLString Class Reference

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

List of all members.

## 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 occurance of a character within a string.
static int | indexOf (const XMLCh *const toSearch, const XMLCh ch)
| Provides the index of the first occurance 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 occurance 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 occurance 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 occurance of a character within a string.
static int | lastIndexOf (const XMLCh *const toSearch, const XMLCh ch)
| Provides the index of the last occurance 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 occurance 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 occurance 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 occurance 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 occurance of any character of another string within itself.
static XMLCh * | findAny (XMLCh *const toSearch, const XMLCh *const searchList)
| Tells if a string has any occurance 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.
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.

## Friends

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

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

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

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`

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`

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`

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().

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`

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().

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`

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`

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`

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.

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.

bool XMLString::equals | ( | const char * | str1,
|  | const char * | str2 |
| ) |  |  | `[static]`

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.

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().

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.

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

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

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

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

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

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

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

Provides the index of the first occurance 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.

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

Provides the index of the first occurance 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.

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 occurance 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.

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 occurance 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.

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

Provides the index of the last occurance 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().

int XMLString::lastIndexOf | ( | const XMLCh *const | toSearch,
|  | const XMLCh | ch |
| ) |  |  | `[static]`

Provides the index of the last occurance 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().

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

Provides the index of the last occurance 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.

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 occurance 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.

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 occurance 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.

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

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

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

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

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=(), XMLNotationDecl::setBaseURI(), XMLEntityDecl::setBaseURI(), XMLAttDef::setEnumeration(), XMLEntityDecl::setNotationName(), XMLNotationDecl::setPublicId(), XMLEntityDecl::setPublicId(), XMLNotationDecl::setSystemId(), XMLEntityDecl::setSystemId(), XMLEntityDecl::setValue(), XMLAttDef::setValue(), and AbstractDOMParser::useImplementation().

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().

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

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().

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

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().

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().

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

Tells if a string has any occurance 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

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

Tells if a string has any occurance 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

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

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().

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 trailng 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

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 trailng 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

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

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*)

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

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*)

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

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

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

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

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

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

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

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

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

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

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

Check if string is WhiteSpace:replace.

Parameters:

  | toCheck | The string which needs to be checked.

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

Check if string is WhiteSpace:collapse.

Parameters:

  | toCheck | The string which needs to be checked.

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

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

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

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 containning the result

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

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

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

## Friends And Related Function Documentation

friend class XMLPlatformUtils`[friend]`

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

- XMLString.hpp