Xerces-C++: XMLString Class Reference (original) (raw)

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

#include <[xercesc/util/XMLString.hpp](XMLString%5F8hpp%5Fsource.html)>

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

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.

binToText() [1/8]

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]

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]

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]

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]

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]

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]

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]

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

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]

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]

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

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]

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]

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

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]

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]

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

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]

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]

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

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

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

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]

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]

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]

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]

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

stringLen() [2/2]

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]

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]

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]

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

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]

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]

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]

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]

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]

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]

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

XMLPlatformUtils


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