22 #if !defined(XERCESC_INCLUDE_GUARD_XML_DATETIME_HPP)
23 #define XERCESC_INCLUDE_GUARD_XML_DATETIME_HPP
70 inline void setBuffer(
const XMLCh*
const);
104 void parseDateTime();
116 void parseMonthDay();
118 void parseYearMonth();
120 void parseDuration();
157 static int compareResult(
int
171 static inline int getRetVal(
int,
int);
179 inline void assertBuffer()
const;
184 inline bool initParser();
186 inline bool isNormalized()
const;
200 void parseTimeZone();
210 ,
const XMLCh ch)
const;
215 int parseIntYear(
const XMLSize_t end)
const;
217 double parseMiliSecond(
const XMLSize_t start
224 void validateDateTime()
const;
230 int fillYearString(
XMLCh*& ptr,
int value)
const;
232 void searchMiliSeconds(
XMLCh*& miliStartPtr,
XMLCh*& miliEndPtr)
const;
237 bool operator==(
const XMLDateTime& toCompare)
const;
257 int fValue[TOTAL_SIZE];
258 int fTimeZone[TIMEZONE_ARRAYSIZE];
278 for (; fEnd > 0; fEnd--)
286 if (fEnd > fBufferMaxLen)
289 fBufferMaxLen = fEnd + 8;
293 memcpy(fBuffer, aString, (fEnd) *
sizeof(
XMLCh));
294 fBuffer[fEnd] =
'\0';
298 inline void XMLDateTime::reset()
305 fTimeZone[hh] = fTimeZone[mm] = 0;
312 inline void XMLDateTime::copy(
const XMLDateTime& rhs)
315 fValue[i] = rhs.fValue[i];
317 fMilliSecond = rhs.fMilliSecond;
318 fHasTime = rhs.fHasTime;
319 fTimeZone[hh] = rhs.fTimeZone[hh];
320 fTimeZone[mm] = rhs.fTimeZone[mm];
326 if (fEnd > fBufferMaxLen)
329 fBufferMaxLen = rhs.fBufferMaxLen;
333 memcpy(fBuffer, rhs.fBuffer, (fEnd+1) *
sizeof(
XMLCh));
337 inline bool XMLDateTime::initParser()
339 if (!fBuffer || fBuffer[0] ==
chNull)
348 inline bool XMLDateTime::isNormalized()
const
350 return ( fValue[
utc] ==
UTC_STD ?
true :
false );
353 inline int XMLDateTime::getRetVal(
int c1,
int c2)
Definition: XMLDateTime.hpp:48
virtual void deallocate(void *p)=0
This method deallocates memory.
Definition: XMLNumber.hpp:36
Definition: XMLNumber.hpp:38
void setBuffer(const XMLCh *const)
Definition: XMLDateTime.hpp:272
Definition: XMLDateTime.hpp:50
Definition: XSValue.hpp:32
Definition: XMLDateTime.hpp:43
Definition: XMLNumber.hpp:39
Definition: XMLDateTime.hpp:57
Configurable memory manager.
Definition: MemoryManager.hpp:39
static bool isWhitespace(const XMLCh toCheck)
Definition: XMLChar.hpp:223
virtual XMLCh * getRawData() const =0
Return string representation of the decimal value.
static XMLSize_t stringLen(const char *const src)
Get the length of the string.
Definition: XMLDateTime.hpp:36
SIZE_T XMLSize_t
Definition: Xerces_autoconf_config.borland.hpp:86
#define XERCES_CPP_NAMESPACE_BEGIN
Definition: XercesDefs.hpp:112
wchar_t XMLCh
Definition: Xerces_autoconf_config.borland.hpp:92
Definition: XMLDateTime.hpp:47
Definition: XMLDateTime.hpp:49
Definition: XMLNumber.hpp:30
#define XMLUTIL_EXPORT
Definition: XercesDefs.hpp:162
#define XERCES_CPP_NAMESPACE_END
Definition: XercesDefs.hpp:113
virtual void * allocate(XMLSize_t size)=0
This method allocates requested memory.
Definition: XMLDateTime.hpp:56
utcType
Definition: XMLDateTime.hpp:53
Definition: XMLDateTime.hpp:44
virtual const XMLCh * getFormattedString() const =0
Return the original and converted value of the original data.
XERCES_CPP_NAMESPACE_BEGIN const XMLCh chNull
Definition: XMLUniDefs.hpp:37
virtual int getSign() const =0
Returns the sign of this number.
Definition: XMLDateTime.hpp:46
Definition: XMLDateTime.hpp:45
valueIndex
Definition: XMLDateTime.hpp:40