Go to the documentation of this file.
   22 #if !defined(XERCESC_INCLUDE_GUARD_XMLSTRING_HPP) 
   23 #define XERCESC_INCLUDE_GUARD_XMLSTRING_HPP 
   25 #include <xercesc/util/BaseRefVectorOf.hpp> 
   26 #include <xercesc/framework/XMLBuffer.hpp> 
   70         , 
const char* 
const     src
 
   88         , 
const XMLCh* 
const    src
 
  105     static int compareIString
 
  107         const   char* 
const     str1
 
  108         , 
const char* 
const     str2
 
  121     static int compareIString
 
  123         const   XMLCh* 
const    str1
 
  124         , 
const XMLCh* 
const    str2
 
  138     static int compareIStringASCII
 
  140         const   XMLCh* 
const    str1
 
  141         , 
const XMLCh* 
const    str2
 
  159     static int compareNString
 
  161         const   char* 
const     str1
 
  162         , 
const char* 
const     str2
 
  179     static int compareNString
 
  181         const   XMLCh* 
const    str1
 
  182         , 
const XMLCh* 
const    str2
 
  200     static int compareNIString
 
  202         const   char* 
const     str1
 
  203         , 
const char* 
const     str2
 
  221     static int compareNIString
 
  223         const   XMLCh* 
const    str1
 
  224         , 
const XMLCh* 
const    str2
 
  240     static int compareString
 
  242         const   char* 
const     str1
 
  243         , 
const char* 
const     str2
 
  257     static int compareString
 
  259         const   XMLCh* 
const    str1
 
  260         , 
const XMLCh* 
const    str2
 
  341     static bool regionMatches
 
  343         const   XMLCh* 
const    str1
 
  345         , 
const XMLCh* 
const    str2
 
  377     static bool regionIMatches
 
  379         const   XMLCh* 
const    str1
 
  381         , 
const XMLCh* 
const    str2
 
  399     static void copyString
 
  402         , 
const char* 
const     src
 
  415     static void copyString
 
  418         , 
const XMLCh* 
const    src
 
  433     static bool copyNString
 
  436         , 
const XMLCh* 
const   src
 
  451         const   char* 
const     toHash
 
  463         const   XMLCh* 
const    toHash
 
  477         const   XMLCh* 
const    toHash
 
  494     static int indexOf(
const char* 
const toSearch, 
const char ch);
 
  504     static int indexOf(
const XMLCh* 
const toSearch, 
const XMLCh ch);
 
  519         const   char* 
const     toSearch
 
  520         , 
const char            chToFind
 
  538         const   XMLCh* 
const    toSearch
 
  539         , 
const XMLCh           chToFind
 
  552     static int lastIndexOf(
const char* 
const toSearch, 
const char ch);
 
  562     static int lastIndexOf(
const XMLCh* 
const toSearch, 
const XMLCh ch);
 
  573     static int lastIndexOf
 
  576         , 
const XMLCh* 
const toSearch
 
  591     static int lastIndexOf
 
  593         const   char* 
const     toSearch
 
  594         , 
const char            chToFind
 
  610     static int lastIndexOf
 
  612         const   XMLCh* 
const    toSearch
 
  626     static void moveChars
 
  628                 XMLCh* 
const    targetStr
 
  629         , 
const XMLCh* 
const    srcStr
 
  646     static void subString
 
  648                 char* 
const    targetStr
 
  649         , 
const char* 
const    srcStr
 
  664     static void subString
 
  666                 XMLCh* 
const    targetStr
 
  667         , 
const XMLCh* 
const    srcStr
 
  683     static void subString
 
  685                 XMLCh* 
const    targetStr
 
  686         , 
const XMLCh* 
const    srcStr
 
  707     static char* replicate(
const char* 
const toRep,
 
  720     static XMLCh* replicate(
const XMLCh* 
const toRep,
 
  733     static bool startsWith
 
  735         const   char* 
const     toTest
 
  736         , 
const char* 
const     prefix
 
  745     static bool startsWith
 
  747         const   XMLCh* 
const    toTest
 
  748         , 
const XMLCh* 
const    prefix
 
  759     static bool startsWithI
 
  761         const   char* 
const     toTest
 
  762         , 
const char* 
const     prefix
 
  774     static bool startsWithI
 
  776         const   XMLCh* 
const    toTest
 
  777         , 
const XMLCh* 
const    prefix
 
  788         const   XMLCh* 
const    toTest
 
  789         , 
const XMLCh* 
const    suffix
 
  801     static const XMLCh* findAny
 
  803         const   XMLCh* 
const    toSearch
 
  804         , 
const XMLCh* 
const    searchList
 
  815     static XMLCh* findAny
 
  817                 XMLCh* 
const    toSearch
 
  818         , 
const XMLCh* 
const    searchList
 
  827     static int patternMatch
 
  829           const XMLCh* 
const    toSearch
 
  830         , 
const XMLCh* 
const    pattern
 
  837     static XMLSize_t stringLen(
const char* 
const src);
 
  852     static bool isValidNOTATION(
const XMLCh*         
const name
 
  860     static bool isValidEncName(
const XMLCh* 
const name);
 
  868     static bool isAlpha(
XMLCh const theChar);
 
  875     static bool isDigit(
XMLCh const theChar);
 
  882     static bool isAlphaNum(
XMLCh const theChar);
 
  889     static bool isHex(
XMLCh const theChar);
 
  896     static bool isInList(
const XMLCh* 
const toFind, 
const XMLCh* 
const enumList);
 
  914     static void sizeToText
 
  919         , 
const unsigned int        radix
 
  934     static void sizeToText
 
  937         ,       
XMLCh* 
const        toFill
 
  939         , 
const unsigned int        radix
 
  954     static void binToText
 
  956         const   unsigned int    toFormat
 
  959         , 
const unsigned int    radix
 
  974     static void binToText
 
  976         const   unsigned int    toFormat
 
  977         ,       
XMLCh* 
const    toFill
 
  979         , 
const unsigned int    radix
 
  994     static void binToText
 
  996         const   unsigned long   toFormat
 
  999         , 
const unsigned int    radix
 
 1014     static void binToText
 
 1016         const   unsigned long   toFormat
 
 1017         ,       
XMLCh* 
const    toFill
 
 1019         , 
const unsigned int    radix
 
 1034     static void binToText
 
 1037         ,       
char* 
const     toFill
 
 1039         , 
const unsigned int    radix
 
 1054     static void binToText
 
 1057         ,       
XMLCh* 
const    toFill
 
 1059         , 
const unsigned int    radix
 
 1074     static void binToText
 
 1077         ,       
char* 
const     toFill
 
 1079         , 
const unsigned int    radix
 
 1094     static void binToText
 
 1097         ,       
XMLCh* 
const    toFill
 
 1099         , 
const unsigned int    radix
 
 1114     static bool textToBin
 
 1116         const   XMLCh* 
const    toConvert
 
 1117         ,       
unsigned int&   toFill
 
 1136         const   XMLCh* 
const    toConvert
 
 1147                 XMLCh* 
const    toCutFrom
 
 1162     static char* transcode
 
 1164         const   XMLCh* 
const         toTranscode
 
 1183     static bool transcode
 
 1185         const   XMLCh* 
const    toTranscode
 
 1186         ,       
char* 
const     toFill
 
 1202     static XMLCh* transcode
 
 1204         const   char* 
const          toTranscode
 
 1218     static bool transcode
 
 1220         const   char* 
const     toTranscode
 
 1221         ,       
XMLCh* 
const    toFill
 
 1231     static void trim(
char* 
const toTrim);
 
 1238     static void trim(
XMLCh* 
const toTrim);
 
 1247     static BaseRefVectorOf<XMLCh>* tokenizeString(
const XMLCh* 
const tokenizeSrc
 
 1258     static BaseRefVectorOf<XMLCh>* tokenizeString(
const XMLCh* 
const tokenizeSrc
 
 1273     static XMLCh* makeUName
 
 1275         const   XMLCh* 
const    pszURI
 
 1276         , 
const XMLCh* 
const    pszName
 
 1297                 XMLCh* 
const    errText
 
 1299         , 
const XMLCh* 
const    text1
 
 1300         , 
const XMLCh* 
const    text2
 
 1301         , 
const XMLCh* 
const    text3
 
 1302         , 
const XMLCh* 
const    text4
 
 1310     static void upperCase(
XMLCh* 
const toUpperCase);
 
 1317     static void upperCaseASCII(
XMLCh* 
const toUpperCase);
 
 1323     static void lowerCase(
XMLCh* 
const toLowerCase);
 
 1330     static void lowerCaseASCII(
XMLCh* 
const toLowerCase);
 
 1335     static bool isWSReplaced(
const XMLCh* 
const toCheck);
 
 1340     static bool isWSCollapsed(
const XMLCh* 
const toCheck);
 
 1347     static void replaceWS(
XMLCh* toConvert
 
 1355     static void collapseWS(
XMLCh* toConvert
 
 1363     static void removeWS(
XMLCh* toConvert
 
 1372     static void removeChar(
const XMLCh*     
const srcString
 
 1373                          , 
const XMLCh&           toRemove
 
 1374                          ,       XMLBuffer&       dstBuffer);
 
 1383     static void fixURI(
const XMLCh* 
const str, 
XMLCh* 
const target);
 
 1432     static void termString();
 
 1439     static bool validateRegion(
const XMLCh* 
const str1, 
const int offset1,
 
 1440                         const XMLCh* 
const str2, 
const int offset2,
 
 1454                                 , 
const XMLCh* 
const srcStr
 
 1457     memmove(targetStr, srcStr, count * 
sizeof(
XMLCh));
 
 1465     const XMLCh* pszTmp = src;
 
 1469     return (pszTmp - src - 1);
 
 1481         memcpy(ret, toRep, (len + 1) * 
sizeof(
XMLCh));
 
 1487                                     , 
const XMLCh* 
const    prefix)
 
 1493                                     , 
const XMLCh* 
const    prefix)
 
 1499                                 const XMLCh* 
const suffix)
 
 1505                          suffix, 0, suffixLen);
 
 1508 inline bool XMLString::validateRegion(
const XMLCh* 
const str1,
 
 1510                                       const XMLCh* 
const str2,
 
 1515     if (offset1 < 0 || offset2 < 0 ||
 
 1524                                , 
const XMLCh* str2)
 
 1529     if (str1 == 0 || str2 == 0)
 
 1530         return ((!str1 || !*str1) && (!str2 || !*str2));
 
 1533         if(*str1++ != *str2++)  
 
 1544     if (str1 == str2 || n == 0)
 
 1547     if (str1 == 0 || str2 == 0)
 
 1548         return ((!str1 || !*str1) && (!str2 || !*str2));
 
 1550     for (; n != 0 && *str1 && *str2; --n, ++str1, ++str2)
 
 1554     return n == 0 || *str1 == *str2; 
 
 1563     if (str1 == 0 || str2 == 0)
 
 1564         return ((!str1 || !*str1) && (!str2 || !*str2));
 
 1567         if(*str1++ != *str2++)  
 
 1578     if (str1 == str2 || n == 0)
 
 1581     if (str1 == 0 || str2 == 0)
 
 1582         return ((!str1 || !*str1) && (!str2 || !*str2));
 
 1584     for (; n != 0 && *str1 && *str2; --n, ++str1, ++str2)
 
 1588     return n == 0 || *str1 == *str2; 
 
 1599     if (tohash == 0 || *tohash == 0)
 
 1602     const XMLCh* curCh = tohash;
 
 1606         hashVal = (hashVal * 38) + (hashVal >> 24) + (
XMLSize_t)(*curCh++);
 
 1609     return hashVal % hashModulus;
 
 1616   if (tohash == 0 || n == 0)
 
 1619   const XMLCh* curCh = tohash;
 
 1623     hashVal = (hashVal * 38) + (hashVal >> 24) + (
XMLSize_t)(*curCh++);
 
 1626   return hashVal % hashModulus;
 
  
static int lastIndexOf(const char *const toSearch, const char ch)
Provides the index of the last occurrence of a character within a string.
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
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,...
virtual void * allocate(XMLSize_t size)=0
This method allocates requested memory.
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
static char * replicate(const char *const toRep, MemoryManager *const manager=XMLPlatformUtils::fgMemoryManager)
Replicates a string NOTE: The returned buffer is allocated with the MemoryManager.
#define XMLUTIL_EXPORT
Definition: XercesDefs.hpp:162
static void moveChars(XMLCh *const targetStr, const XMLCh *const srcStr, const XMLSize_t count)
Moves X number of chars.
Definition: XMLString.hpp:1453
Definition: TransService.hpp:388
uint16_t XMLCh
Definition: Xerces_autoconf_config.hpp:120
static XMLSize_t hash(const char *const toHash, const XMLSize_t hashModulus)
Hashes a string given a modulus.
static bool equals(const XMLCh *str1, const XMLCh *str2)
compares str1 and str2
Definition: XMLString.hpp:1523
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 ...
size_t XMLSize_t
Definition: Xerces_autoconf_config.hpp:112
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 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 ca...
static XMLSize_t stringLen(const char *const src)
Get the length of the string.
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.
Definition: XMLString.hpp:1612
Configurable memory manager.
Definition: MemoryManager.hpp:39
static bool endsWith(const XMLCh *const toTest, const XMLCh *const suffix)
Tells if the sub-string appears within a string at the end.
Definition: XMLString.hpp:1498
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 equalsN(const XMLCh *str1, const XMLCh *str2, XMLSize_t n)
compares str1 and str2
Definition: XMLString.hpp:1540
Class for representing native character strings and handling common string operations.
Definition: XMLString.hpp:45