home *** CD-ROM | disk | FTP | other *** search
Text File | 2003-10-17 | 41.3 KB | 1,369 lines |
- ////////////////////////////////////////////////////////////////////////
- //
- // SchemaTypes.h
- //
- // This file was generated by [=$Host].
- //
- // YOU SHOULD NOT MODIFY THIS FILE, BECAUSE IT WILL BE
- // OVERWRITTEN WHEN YOU RE-RUN CODE GENERATION.
- //
- // Refer to the [=$HostShort] Documentation for further details.
- // [=$HostURL]
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- #ifndef ALTOVA_SCHEMATYPES_H_INCLUDED
- #define ALTOVA_SCHEMATYPES_H_INCLUDED
-
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
-
- namespace altova {
-
-
- #ifndef _USRDLL
- #define ALTOVA_DECLSPECIFIER
- #else
- #ifdef ALTOVA_EXPORTS
- #define ALTOVA_DECLSPECIFIER __declspec(dllexport)
- #define ALTOVA_EXPIMP_TEMPLATE
- #else
- #define ALTOVA_DECLSPECIFIER __declspec(dllimport)
- #define ALTOVA_EXPIMP_TEMPLATE extern
- #endif
-
- #ifndef _MFC_VER
- #pragma warning(disable: 4660)
- #pragma warning(disable: 4231)
- #pragma warning(disable: 4251)
- #endif
- #endif
-
-
- #if defined(UNICODE) || defined(_UNICODE)
- #define tstring std::wstring
- #define tcin std::wcin
- #define tcout std::wcout
- #define tcerr std::wcerr
- #define tclog std::wclog
- #define tostream std::wostream
- #else
- #define tstring std::string
- #define tcin std::cin
- #define tcout std::cout
- #define tcerr std::cerr
- #define tclog std::clog
- #define tostream std::ostream
- #endif
-
-
- #ifdef _XERCES_VERSION
-
- #if defined(UNICODE) || defined(_UNICODE)
- #define XC2TS(x) x
- #else
- #define XC2TS(x) StrX(x).localForm()
- #endif
-
- class XStr
- {
- public:
- XStr(const char* const toTranscode) { m_bClone = true; fUnicodeForm = xercesc::XMLString::transcode(toTranscode); }
- XStr(const std::string& toTranscode) { m_bClone = true; fUnicodeForm = xercesc::XMLString::transcode(toTranscode.c_str()); }
- XStr(const wchar_t* const toTranscode) { m_bClone = false; fUnicodeForm = (XMLCh*)toTranscode; }
- XStr(const std::wstring& toTranscode) { m_bClone = false; fUnicodeForm = (XMLCh*)(toTranscode.c_str()); }
- ~XStr() { if (m_bClone && fUnicodeForm) xercesc::XMLString::release(&fUnicodeForm); }
- const XMLCh* unicodeForm() const { return fUnicodeForm; }
- protected:
- bool m_bClone;
- XMLCh* fUnicodeForm;
- };
-
- #define X(str) XStr(str).unicodeForm()
-
- class StrX
- {
- public:
- StrX(const XMLCh* const toTranscode) { fLocalForm = xercesc::XMLString::transcode(toTranscode); }
- ~StrX() { xercesc::XMLString::release(&fLocalForm); }
- const char* localForm() const { return fLocalForm; }
- protected:
- char* fLocalForm;
- };
-
- #endif
- #ifdef _MFC_VER
- inline tostream& operator<<(tostream& out, const CString& sText)
- {
- return tcout << (LPCTSTR)sText;
- }
- #endif // _MFC_VER
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // Utility functions and templates
- //
- ////////////////////////////////////////////////////////////////////////
-
- template<typename TValue>
- TValue InRangeInt(TValue nValue, __int64 nMin, __int64 nMax)
- {
- if( nValue < nMin || nValue > nMax )
- throw new CAltovaException(CAltovaException::eError1, _T("Out of range!"));
- return nValue;
- }
-
-
- template<typename TValue>
- TValue InRangeDbl(TValue nValue, const double nPosMin, const double nPosMax)
- {
- TValue nTmpValue = nValue;
- if( nTmpValue == 0 )
- return nValue;
- if( nTmpValue < 0 )
- nTmpValue = -nTmpValue;
- if( nTmpValue >= nPosMin && nTmpValue <= nPosMax )
- return nValue;
- throw new CAltovaException(CAltovaException::eError1, _T("Out of range!"));
- }
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CBaseObject
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CBaseObject
- {
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaType
- //
- ////////////////////////////////////////////////////////////////////////
-
-
-
- class ALTOVA_DECLSPECIFIER CSchemaType : public CBaseObject
- {
- public:
- typedef enum {
- // numeric types
- k_bool,
- k_byte,
- k_unsigned_byte,
- k_short,
- k_unsigned_short,
- k_int,
- k_unsigned_int,
- k_long,
- k_unsigned_long,
- k_float,
- k_double,
- k_decimal,
- // calendar types
- k_Duration,
- k_Time,
- k_Day,
- k_Month,
- k_MonthDay,
- k_Year,
- k_YearMonth,
- k_Date,
- k_DateTime,
- // else
- k_String,
- k_Base64Binary,
- k_HexBinary,
- // ----------
- k_count,
- k_unknown = -1
- } ETypes ;
-
- CSchemaType(const bool isEmpty = true) : m_bIsEmpty( isEmpty ) {};
-
- enum { TYPE = k_unknown };
-
- virtual operator tstring() const = 0;
- [if $mfc]
- virtual operator CString() { return operator tstring().c_str(); }
- [endif]
- virtual bool ToBool() const = 0; // like XPATH function boolean()
-
- virtual void Empty() { m_bIsEmpty = true; }
- virtual void Parse(const TCHAR* szValue) = 0;
- virtual CSchemaType& Assign(const CSchemaType& rOther) = 0;
-
- bool IsEmpty() const { return m_bIsEmpty; }
-
- enum {
- WHITESPACE_PRESERVE,
- WHITESPACE_REPLACE,
- WHITESPACE_COLLAPSE
- };
-
- static bool CompareEqual(const CSchemaType& rObj1, const CSchemaType& rObj2);
- static bool CompareLess(const CSchemaType& rObj1, const CSchemaType& rObj2);
-
- static bool CompareNotEqual(const CSchemaType& rObj1, const CSchemaType& rObj2) { return !CompareEqual(rObj1, rObj2); }
- static bool CompareGreater(const CSchemaType& rObj1, const CSchemaType& rObj2) { return CompareLess(rObj2, rObj1); }
- static bool CompareLessEqual(const CSchemaType& rObj1, const CSchemaType& rObj2) { return CompareLess(rObj1, rObj2) || CompareEqual(rObj1, rObj2); }
- static bool CompareGreaterEqual(const CSchemaType& rObj1, const CSchemaType& rObj2) { return CompareLess(rObj2, rObj1) || CompareEqual(rObj1, rObj2); }
-
- protected:
- bool m_bIsEmpty;
- };
-
-
- inline tostream& operator<<(tostream& os, CSchemaType& t)
- {
- return os << ((tstring)t).c_str();
- }
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaTypeNumber
- //
- ////////////////////////////////////////////////////////////////////////
-
- class ALTOVA_DECLSPECIFIER CSchemaTypeNumber
- {
- public:
- CSchemaTypeNumber() {};
-
- // architecture used is min. 32-bit so all smaller datatypes are omitted for calculation purposes
- // Note: unsigned datatypes have to be casted explicitly
- virtual long ToLong() const = 0; // 32 Bit integer
- virtual __int64 ToInt64() const = 0; // 64 Bit integer
- virtual float ToFloat() const = 0; // 32 Bit floating-point
- virtual double ToDouble() const = 0; // 64 Bit floating-point
-
- virtual CSchemaType::ETypes NumericType() const = 0;
- static TCHAR* GetFormatString(CSchemaType::ETypes eType)
- {
- switch( eType )
- {
- case CSchemaType::k_byte: return _T("%hi");
- case CSchemaType::k_unsigned_byte: return _T("%hu");
- case CSchemaType::k_short: return _T("%hi");
- case CSchemaType::k_unsigned_short: return _T("%hu");
- case CSchemaType::k_int: return _T("%li");
- case CSchemaType::k_unsigned_int: return _T("%lu");
- case CSchemaType::k_long: return _T("%I64i");
- case CSchemaType::k_unsigned_long: return _T("%I64u");
- case CSchemaType::k_float: return _T("%G");
- case CSchemaType::k_double: return _T("%lG");
- case CSchemaType::k_decimal: return _T("%f");
- }
- return _T("");
- }
-
- };
-
-
- // calctype and ToCalcType() below are used for numerical operations with
- // CSchema... types (containing a value possible to be represented as number)
- // All numerical calculation functions access the value via ToCalcType().
- // Calculation-type is minimum 32 Bit (because we've 32 Bit processors) and
- // must be always signed (for unsigned use the next bigger type).
-
- ////////////////////////////////////////////////////////////////////////
- //
- // template CSchemaNumber<..>
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- template <typename TValue, typename TCalcValue, CSchemaType::ETypes eNumericType[if $DBLibraryCount > 0], typename TVariant[endif]>
- class CSchemaNumber : public CSchemaTypeNumber, public CSchemaType
- {
- public:
- CSchemaNumber() : m_Value(0) {};
- CSchemaNumber(const TValue value) : CSchemaType( false ), m_Value(value) {};
- CSchemaNumber(const TCHAR* szValue) { Parse(szValue); }
- CSchemaNumber(const CSchemaType& rOther) { *this = rOther; }
- [if $DBLibraryCount > 0]
- CSchemaNumber(const _variant_t& vValue) : CSchemaType(false), m_Value(0)
- {
- if( vValue.vt == VT_NULL || vValue.vt == VT_EMPTY )
- return ;
- m_Value = (TVariant)vValue;
- }
- virtual operator _variant_t() const
- {
- if( m_bIsEmpty )
- return _variant_t();
- return (TVariant)m_Value;
- }
- [endif]
- enum { TYPE = eNumericType };
-
- virtual operator TValue() const { return m_bIsEmpty ? (TValue)0 : m_Value; }
- virtual CSchemaNumber& operator=(const TValue nValue) { m_bIsEmpty = false; m_Value = nValue; return *this; }
- virtual CSchemaNumber& operator=(const CSchemaType& rOther) { return (CSchemaNumber&)Assign(rOther); }
-
- TCalcValue ToCalcValue() const { return (TCalcValue)m_Value; }
-
- // from CSchemaType
- virtual bool ToBool() const { return m_bIsEmpty ? (bool)0 : m_Value != 0; }
- virtual operator tstring() const
- {
- if( m_bIsEmpty )
- return _T("");
- TCHAR szValue\[32\];
- _sntprintf(szValue, 32, GetFormatString(eNumericType), m_Value);
- return szValue;
- }
-
- void Empty() { m_Value = 0; m_bIsEmpty = 1; }
- virtual void Parse(const TCHAR* szValue)
- {
- if( szValue\[0\] == 0 )
- {
- Empty();
- return;
- }
- m_bIsEmpty = false;
- InternalParse( szValue );
- }
- virtual CSchemaType& Assign(const CSchemaType& rOther )
- {
- Empty();
- const CSchemaTypeNumber* pNumberType = dynamic_cast<const CSchemaTypeNumber*>(&rOther);
- if( pNumberType == NULL )
- throw CAltovaException(CAltovaException::eError1, _T("Types incompatible!"));
- m_bIsEmpty = rOther.IsEmpty();
- switch( TYPE )
- {
- case CSchemaType::k_float: m_Value = (TValue)pNumberType->ToFloat(); break;
- case CSchemaType::k_double:
- case CSchemaType::k_decimal: m_Value = (TValue)pNumberType->ToDouble(); break;
- case CSchemaType::k_long:
- case CSchemaType::k_unsigned_long: m_Value = (TValue)pNumberType->ToInt64(); break;
- default:
- m_Value = (TValue)pNumberType->ToLong();
- }
- return *this;
- }
-
- // from CSchemaTypeNumber
- virtual ETypes NumericType() const { return (CSchemaType::ETypes)TYPE; }
- virtual long ToLong() const { return m_bIsEmpty ? (long)0 : InRangeInt<long>((long)m_Value, LONG_MIN, LONG_MAX); }
- virtual __int64 ToInt64() const { return m_bIsEmpty ? (__int64)0: InRangeInt<__int64>((__int64)m_Value, _I64_MIN, _I64_MAX); }
- virtual float ToFloat() const { return m_bIsEmpty ? (float)0 : InRangeDbl<float>((float)m_Value, 3.4E-38, 3.4E+38); }
- virtual double ToDouble() const { return m_bIsEmpty ? (double)0 : InRangeDbl<double>((double)m_Value, 1.7E-308, 1.7E+308); }
-
- typedef TValue basetype;
- typedef TCalcValue calctype;
- protected:
- TValue m_Value;
-
- void InternalParse(const TCHAR* szValue)
- {
- m_Value = _ttoi(szValue);
- }
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaByte
- // CSchemaUnsignedByte
- // CSchemaShort
- // CSchemaUnsignedShort
- // CSchemaInt
- // CSchemaUnsignedInt
- // CSchemaLong
- // CSchemaUnsignedLong
- // CSchemaFloat
- // CSchemaDouble
- // CSchemaDecimal
- //
- // CSchemaInteger
- // CSchemaNegativeInteger
- // CSchemaPositiveInteger
- // CSchemaNonPositiveInteger
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- typedef CSchemaNumber<char, long, CSchemaType::k_byte [if $DBLibraryCount > 0], short[endif]> CSchemaByte;
- typedef CSchemaNumber<unsigned char, long, CSchemaType::k_unsigned_byte [if $DBLibraryCount > 0], BYTE[endif]> CSchemaUnsignedByte;
- typedef CSchemaNumber<short, long, CSchemaType::k_short [if $DBLibraryCount > 0], short[endif]> CSchemaShort;
- typedef CSchemaNumber<unsigned short, long, CSchemaType::k_unsigned_short [if $DBLibraryCount > 0], long[endif]> CSchemaUnsignedShort;
- typedef CSchemaNumber<long, long, CSchemaType::k_int [if $DBLibraryCount > 0], long[endif]> CSchemaInt;
- typedef CSchemaNumber<unsigned long, __int64,CSchemaType::k_unsigned_int [if $DBLibraryCount > 0], long[endif]> CSchemaUnsignedInt;
- typedef CSchemaNumber<__int64, __int64,CSchemaType::k_long [if $DBLibraryCount > 0], long[endif]> CSchemaLong;
- typedef CSchemaNumber<unsigned __int64, __int64,CSchemaType::k_unsigned_long [if $DBLibraryCount > 0], long[endif]> CSchemaUnsignedLong;
- typedef CSchemaNumber<float, float, CSchemaType::k_float [if $DBLibraryCount > 0], float[endif]> CSchemaFloat;
- typedef CSchemaNumber<double, double, CSchemaType::k_double [if $DBLibraryCount > 0], double[endif]> CSchemaDouble;
- typedef CSchemaNumber<double, double, CSchemaType::k_decimal [if $DBLibraryCount > 0], double[endif]> CSchemaDecimal;
-
- typedef CSchemaLong CSchemaInteger;
- typedef CSchemaInteger CSchemaNegativeInteger;
- typedef CSchemaInteger CSchemaNonNegativeInteger;
- typedef CSchemaInteger CSchemaPositiveInteger;
- typedef CSchemaInteger CSchemaNonPositiveInteger;
-
-
- template<>
- float CSchemaUnsignedLong::ToFloat() const
- {
- return m_bIsEmpty ? (float)0.0 : InRangeDbl<float>((float)InRangeInt<__int64>(m_Value, _I64_MIN, _I64_MAX), 3.4E-38, 3.4E+38);
- }
-
- template<>
- double CSchemaUnsignedLong::ToDouble() const
- {
- return m_bIsEmpty ? (double)0.0 : InRangeDbl<double>((double)InRangeInt<__int64>(m_Value, _I64_MIN, _I64_MAX), 1.7E-308, 1.7E+308);
- }
-
-
- template<>
- void CSchemaInt::InternalParse(const TCHAR* szValue)
- {
- m_Value = _ttol(szValue);
- }
-
- template<>
- void CSchemaUnsignedInt::InternalParse(const TCHAR* szValue)
- {
- m_Value = _ttol(szValue);
- }
-
- template<>
- void CSchemaLong::InternalParse(const TCHAR* szValue)
- {
- m_Value = _ttoi64(szValue);
- }
-
- template<>
- void CSchemaUnsignedLong::InternalParse(const TCHAR* szValue)
- {
- m_Value = _ttoi64(szValue);
- }
-
- template<>
- void CSchemaFloat::InternalParse(const TCHAR* szValue)
- {
- TCHAR* endptr;
- m_Value = (float)_tcstod(szValue, &endptr);
- }
-
- template<>
- void CSchemaDouble::InternalParse(const TCHAR* szValue)
- {
- TCHAR* endptr;
- m_Value = _tcstod(szValue, &endptr);
- }
-
- template<>
- void CSchemaDecimal::InternalParse(const TCHAR* szValue)
- {
- TCHAR* endptr;
- m_Value = _tcstod(szValue, &endptr);
- }
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaBoolean
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaBoolean : public CSchemaTypeNumber, public CSchemaType
- {
- public:
- CSchemaBoolean() : m_Value(false) {};
- CSchemaBoolean(const bool value) : CSchemaType( false ), m_Value(value) {};
- CSchemaBoolean(const long value) : CSchemaType( false ), m_Value(value!=0) {};
- CSchemaBoolean(const TCHAR* szValue) { Parse(szValue); }
- CSchemaBoolean(const CSchemaType& rOther) { *this = rOther; }
- [if $DBLibraryCount > 0]
- CSchemaBoolean(const _variant_t& vValue) : CSchemaType(false), m_Value(false)
- {
- if( vValue.vt == VT_NULL || vValue.vt == VT_EMPTY )
- return;
- m_Value = vValue;
- }
- virtual operator _variant_t() const
- {
- if( m_bIsEmpty )
- return _variant_t();
- return m_Value;
- }
- [endif]
- enum { TYPE = CSchemaType::k_bool };
-
- virtual operator bool() const { return m_bIsEmpty ? false : m_Value; }
- long ToCalcValue() const { return ToLong(); }
- virtual CSchemaBoolean& operator=(const bool bValue) { m_bIsEmpty = false; m_Value = bValue; return *this; }
- virtual CSchemaBoolean& operator=(const CSchemaType& rOther) { return (CSchemaBoolean&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const { return m_bIsEmpty ? false : m_Value; }
-
- void Empty() { m_Value = false; m_bIsEmpty = true; }
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther )
- {
- m_bIsEmpty = ((CSchemaType&)rOther).IsEmpty();
- m_Value = rOther.ToBool();
- return *this;
- }
-
- // from CSchemaTypeNumber
- virtual ETypes NumericType() const { return (CSchemaType::ETypes)TYPE; }
- virtual long ToLong() const { return m_bIsEmpty ? (long)0 : m_Value; }
- virtual __int64 ToInt64() const { return m_bIsEmpty ? (__int64)0 : m_Value; }
- virtual float ToFloat() const { return m_bIsEmpty ? (float)0.0 : m_Value; }
- virtual double ToDouble() const { return m_bIsEmpty ? (double)0.0 : m_Value; }
-
- typedef bool basetype;
- typedef long calctype;
- protected:
- bool m_Value;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaTypeCalendar
- //
- ////////////////////////////////////////////////////////////////////////
-
- class CSchemaDuration;
- class CSchemaTime;
- class CSchemaDay;
- class CSchemaMonth;
- class CSchemaMonthDay;
- class CSchemaYear;
- class CSchemaYearMonth;
- class CSchemaDate;
- class CSchemaDateTime;
-
-
- class ALTOVA_DECLSPECIFIER CSchemaTypeCalendar
- {
- public:
- virtual operator CSchemaDuration() const = 0;
- virtual operator CSchemaTime() const = 0;
- virtual operator CSchemaDay() const = 0;
- virtual operator CSchemaMonth() const = 0;
- virtual operator CSchemaMonthDay() const = 0;
- virtual operator CSchemaYear() const = 0;
- virtual operator CSchemaYearMonth() const = 0;
- virtual operator CSchemaDate() const = 0;
- virtual operator CSchemaDateTime() const = 0;
-
- virtual CSchemaType::ETypes CalendarType() const = 0;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaDuration
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaDuration : public CSchemaTypeCalendar, public CSchemaType
- {
- public:
- CSchemaDuration();
- CSchemaDuration(bool bPositive, int nYear, int nMonth, int nDay, int nHour, int nMinute, double dSecond);
- CSchemaDuration(const TCHAR* szValue);
- CSchemaDuration(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_Duration };
-
- bool IsPositive() const;
- int GetYear() const;
- int GetMonth() const;
- int GetDay() const;
- int GetHour() const;
- int GetMinute() const;
- double GetSecond() const;
-
- void SetPositive(bool bPositive);
- void SetYear(int nYear);
- void SetMonth(int nMonth);
- void SetDay(int nDay);
- void SetHour(int nHour);
- void SetMinute(int nMinute);
- void SetSecond(double dSecond);
-
- virtual CSchemaDuration& operator=(const CSchemaDuration& rOther ) { return (CSchemaDuration&)Assign(rOther); }
- friend CSchemaType;
- friend CSchemaDuration ALTOVA_DECLSPECIFIER operator+(const CSchemaDuration& dur1, const CSchemaDuration& dur2);
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
- typedef const TCHAR* basetype;
- protected:
- double ApproximatedNormalizedSeconds() const; // approximated because assumed that 1 month=31 days; used only for comparison
-
- bool m_bPositive;
- int m_nYear;
- int m_nMonth;
- int m_nDay;
- int m_nHour;
- int m_nMinute;
- double m_dSecond;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaDateTimeBase
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaDateTimeBase : public CSchemaType, public CSchemaTypeCalendar
- {
- public:
- CSchemaDateTimeBase();
- CSchemaDateTimeBase(bool bUTC);
- CSchemaDateTimeBase(int nOffset);
-
- bool HasTimezone() const;
- int GetTimezoneMode() const;
- int GetOffset() const;
-
- void SetTimezoneMode(int nTZMode);
- void SetOffset(int nOffset);
-
- enum
- {
- TZ_UTC,
- TZ_Offset,
- TZ_Missing
- };
-
- protected:
- static int WriteTime(TCHAR* szTarget, int nHour, int nMinute, double dSecond);
-
- void ParseTZ(const TCHAR* szValue);
- void WriteTZ(TCHAR* szTarget) const;
-
- int m_nTZMode;
- int m_nOffset;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaDate
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaDate : public CSchemaDateTimeBase
- {
- public:
- CSchemaDate();
- CSchemaDate(int nYear, int nMonth, int nDay, bool bUTC = false);
- CSchemaDate(int nYear, int nMonth, int nDay, int nOffset);
- CSchemaDate(const TCHAR* szValue);
- CSchemaDate(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_Date };
-
- int GetYear() const;
- int GetMonth() const;
- int GetDay() const;
-
- void SetYear(int nYear);
- void SetMonth(int nMonth);
- void SetDay(int nDay);
-
- friend bool operator==(const CSchemaDate& t1, const CSchemaDate& t2);
- friend bool operator< (const CSchemaDate& t1, const CSchemaDate& t2);
- friend bool operator!=(const CSchemaDate& t1, const CSchemaDate& t2);
- friend bool operator<=(const CSchemaDate& t1, const CSchemaDate& t2);
- friend bool operator> (const CSchemaDate& t1, const CSchemaDate& t2);
- friend bool operator>=(const CSchemaDate& t1, const CSchemaDate& t2);
-
- friend CSchemaType;
- friend CSchemaDate ALTOVA_DECLSPECIFIER operator+(const CSchemaDate& t, const CSchemaDuration& dur);
- friend CSchemaDuration ALTOVA_DECLSPECIFIER operator-(const CSchemaDate& t1, const CSchemaDate& t2);
- virtual CSchemaDate& operator=(const CSchemaType& rOther) { return (CSchemaDate&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
- typedef const TCHAR* basetype;
- protected:
- long ApproximatedNormalizedDays() const; // approx. because assumes 1 month = 31 days
-
- int m_nYear;
- int m_nMonth;
- int m_nDay;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaTime
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaTime : public CSchemaDateTimeBase
- {
- public:
- CSchemaTime();
- CSchemaTime(int nHour, int nMinute, double dSecond, bool bUTC = false);
- CSchemaTime(int nHour, int nMinute, double dSecond, int nOffset);
- CSchemaTime(const TCHAR* szValue);
- CSchemaTime(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_Time };
-
- int GetHour() const;
- int GetMinute() const;
- double GetSecond() const;
-
- void SetHour(int nHour);
- void SetMinute(int nMinute);
- void SetSecond(double dSecond);
-
- friend bool operator==(const CSchemaTime& t1, const CSchemaTime& t2);
- friend bool operator< (const CSchemaTime& t1, const CSchemaTime& t2);
- friend bool operator!=(const CSchemaTime& t1, const CSchemaTime& t2);
- friend bool operator<=(const CSchemaTime& t1, const CSchemaTime& t2);
- friend bool operator> (const CSchemaTime& t1, const CSchemaTime& t2);
- friend bool operator>=(const CSchemaTime& t1, const CSchemaTime& t2);
-
- friend CSchemaType;
- friend CSchemaTime ALTOVA_DECLSPECIFIER operator+(const CSchemaTime& t, const CSchemaDuration& dur);
- friend CSchemaDuration ALTOVA_DECLSPECIFIER operator-(const CSchemaTime& t1, const CSchemaTime& t2);
- virtual CSchemaTime& operator=(const CSchemaType& rOther ) { return (CSchemaTime&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
- typedef const TCHAR* basetype;
- protected:
- double NormalizedSeconds() const;
-
- int m_nHour;
- int m_nMinute;
- double m_dSecond;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaDateTime
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaDateTime : public CSchemaDateTimeBase
- {
- public:
- CSchemaDateTime();
- CSchemaDateTime(int nYear, int nMonth, int nDay, int nHour, int nMinute, double dSecond, bool bUTC = false);
- CSchemaDateTime(int nYear, int nMonth, int nDay, int nHour, int nMinute, double dSecond, int nOffset);
- CSchemaDateTime(const TCHAR* szValue);
- CSchemaDateTime(const CSchemaType& rOther);
- [if $DBLibraryCount > 0]
- CSchemaDateTime(const _variant_t& vValue);
- virtual operator _variant_t() const;
- [endif]
-
- enum { TYPE = CSchemaType::k_DateTime };
-
- int GetYear() const;
- int GetMonth() const;
- int GetDay() const;
- int GetHour() const;
- int GetMinute() const;
- double GetSecond() const;
-
- void SetYear(int nYear);
- void SetMonth(int nMonth);
- void SetDay(int nDay);
- void SetHour(int nHour);
- void SetMinute(int nMinute);
- void SetSecond(double dSecond);
-
- friend bool operator==(const CSchemaDateTime& t1, const CSchemaDateTime& t2);
- friend bool operator< (const CSchemaDateTime& t1, const CSchemaDateTime& t2);
- friend bool operator!=(const CSchemaDateTime& t1, const CSchemaDateTime& t2);
- friend bool operator<=(const CSchemaDateTime& t1, const CSchemaDateTime& t2);
- friend bool operator> (const CSchemaDateTime& t1, const CSchemaDateTime& t2);
- friend bool operator>=(const CSchemaDateTime& t1, const CSchemaDateTime& t2);
-
- friend CSchemaType;
- friend CSchemaDateTime ALTOVA_DECLSPECIFIER operator+(const CSchemaDateTime& t, const CSchemaDuration& dur);
- friend CSchemaDuration ALTOVA_DECLSPECIFIER operator-(const CSchemaDateTime& t1, const CSchemaDateTime& t2);
- virtual CSchemaDateTime& operator=(const CSchemaType& rOther) { return (CSchemaDateTime&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
-
- typedef const TCHAR* basetype;
- protected:
- double ApproximatedNormalizedSeconds() const; // approximated because assumes 1 month = 31 days;
-
- int m_nYear;
- int m_nMonth;
- int m_nDay;
-
- int m_nHour;
- int m_nMinute;
- double m_dSecond;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaYear
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaYear : public CSchemaDateTimeBase
- {
- public:
- CSchemaYear();
- CSchemaYear(int nYear, bool bUTC = false);
- CSchemaYear(int nYear, int nOffset);
- CSchemaYear(const TCHAR* szValue);
- CSchemaYear(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_Year };
-
- int GetYear() const;
- void SetYear(int nYear);
-
- friend CSchemaType;
- virtual CSchemaYear& operator=(const CSchemaType& rOther) { return (CSchemaYear&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
- typedef const TCHAR* basetype;
- protected:
- int m_nYear;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaYearMonth
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaYearMonth : public CSchemaDateTimeBase
- {
- public:
- CSchemaYearMonth();
- CSchemaYearMonth(int nYear, int nMonth, bool bUTC = false);
- CSchemaYearMonth(int nYear, int nMonth, int nOffset);
- CSchemaYearMonth(const TCHAR* szValue);
- CSchemaYearMonth(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_YearMonth };
-
- int GetYear() const;
- int GetMonth() const;
-
- void SetYear(int nYear);
- void SetMonth(int nMonth);
-
- friend CSchemaType;
- virtual CSchemaYearMonth& operator=(const CSchemaType& rOther) { return (CSchemaYearMonth&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
-
- typedef const TCHAR* basetype;
- protected:
- long NormalizedMonths() const;
-
- int m_nYear;
- int m_nMonth;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaMonth
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaMonth : public CSchemaDateTimeBase
- {
- public:
- CSchemaMonth();
- CSchemaMonth(int nMonth, bool bUTC = false);
- CSchemaMonth(int nMonth, int nOffset);
- CSchemaMonth(const TCHAR* szValue);
- CSchemaMonth(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_Month };
-
- int GetMonth() const;
- void SetMonth(int nMonth);
-
- friend CSchemaType;
- virtual CSchemaMonth& operator=(const CSchemaType& rOther ) { return (CSchemaMonth&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
-
- typedef const TCHAR* basetype;
- protected:
- int m_nMonth;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaMonthDay
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaMonthDay : public CSchemaDateTimeBase
- {
- public:
- CSchemaMonthDay();
- CSchemaMonthDay(int nMonth, int nDay, bool bUTC = false);
- CSchemaMonthDay(int nMonth, int nDay, int nOffset);
- CSchemaMonthDay(const TCHAR* szValue);
- CSchemaMonthDay(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_MonthDay };
-
- int GetMonth() const;
- int GetDay() const;
-
- void SetMonth(int nMonth);
- void SetDay(int nYear);
-
- friend CSchemaType;
- virtual CSchemaMonthDay& operator=(const CSchemaType& rOther) { return (CSchemaMonthDay&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
-
- typedef const TCHAR* basetype;
- protected:
- long ApproximatedNormalizedDays() const; // approx. 'cause assumes 1 month = 31 days; for comparison only
-
- int m_nMonth;
- int m_nDay;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaDay
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaDay : public CSchemaDateTimeBase
- {
- public:
- CSchemaDay();
- CSchemaDay(int nDay, bool bUTC = false);
- CSchemaDay(int nDay, int nOffset);
- CSchemaDay(const TCHAR* szValue);
- CSchemaDay(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_Day };
-
- int GetDay() const;
-
- void SetDay(int nYear);
-
- friend CSchemaType;
- virtual CSchemaDay& operator=(const CSchemaType& rOther) { return (CSchemaDay&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
-
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther );
- virtual void Empty();
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const { return (CSchemaType::ETypes)TYPE; }
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
-
- typedef const TCHAR* basetype;
- protected:
- int m_nDay;
- };
-
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaString family
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaString : public CSchemaType, public CSchemaTypeNumber, public CSchemaTypeCalendar
- {
- public:
- CSchemaString();
- CSchemaString(const tstring sValue);
- CSchemaString(const TCHAR* szValue);
- CSchemaString(const double nValue); // numeric value will be transformed into a string-representation
- CSchemaString(const CSchemaType& rOther);
- [if $DBLibraryCount > 0]
- CSchemaString(const _variant_t& vValue);
- virtual operator _variant_t();
- [endif]
- enum { TYPE = CSchemaType::k_String };
-
- friend CSchemaType;
- virtual CSchemaString& operator=(const CSchemaType& rOther) { return (CSchemaString&)Assign(rOther); }
-
- double ToCalcValue() const { return ToDouble(); }
- static CSchemaType* CreateInstanceByString(const TCHAR* szValue);
- [if $DBLibraryCount > 0]
- static _variant_t CreateVariantByString(const TCHAR* szValue);
- [endif]
-
- // from CSchemaType
- virtual operator tstring() const;
- virtual bool ToBool() const;
- virtual void Parse(const TCHAR* szValue);
- virtual CSchemaType& Assign(const CSchemaType& rOther);
- virtual void Empty();
-
- // from CSchemaTypeNumber
- virtual ETypes NumericType() const;
- virtual long ToLong() const;
- virtual __int64 ToInt64() const;
- virtual float ToFloat() const;
- virtual double ToDouble() const;
-
- // from CSchemaTypeCalendar
- virtual ETypes CalendarType() const;
- virtual operator CSchemaDuration() const;
- virtual operator CSchemaTime() const;
- virtual operator CSchemaDay() const;
- virtual operator CSchemaMonth() const;
- virtual operator CSchemaMonthDay() const;
- virtual operator CSchemaYear() const;
- virtual operator CSchemaYearMonth() const;
- virtual operator CSchemaDate() const;
- virtual operator CSchemaDateTime() const;
-
-
- typedef const TCHAR* basetype;
- typedef double calctype; // string values are represented as double-values if possible.
-
- protected:
- tstring m_Value;
- };
-
-
- typedef CSchemaString CSchemaNormalizedString;
- typedef CSchemaString CSchemaToken;
- typedef CSchemaString CSchemaLanguage;
- typedef CSchemaString CSchemaName;
- typedef CSchemaString CSchemaNMToken;
- typedef CSchemaString CSchemaNMTokens;
- typedef CSchemaString CSchemaNCName;
- typedef CSchemaString CSchemaID;
- typedef CSchemaString CSchemaIDRef;
- typedef CSchemaString CSchemaIDRefs;
- typedef CSchemaString CSchemaEntity;
- typedef CSchemaString CSchemaEntities;
- typedef CSchemaString CSchemaAnyURI;
- typedef CSchemaString CSchemaQName;
- typedef CSchemaString CSchemaNotation;
-
-
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaBinaryBase
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaBinaryBase : public CSchemaType
- {
- public:
- CSchemaBinaryBase() : m_nSize(0), m_pData(NULL) {};
- CSchemaBinaryBase(const CSchemaBinaryBase& rOther);
- CSchemaBinaryBase(const unsigned char* pData, int nSize);
- virtual ~CSchemaBinaryBase();
- [if $DBLibraryCount > 0]
- CSchemaBinaryBase(const _variant_t& vValue);
- virtual operator _variant_t() const;
- [endif]
- int GetSize() const { return m_nSize; }
- const unsigned char* GetData() const { return m_pData; }
- unsigned char* GetData() { return m_pData; }
-
- void SetData(const unsigned char* pData, int nSize);
-
- friend CSchemaType;
-
- // from CSchemaType
- virtual operator tstring() const = 0;
- virtual bool ToBool() const { return !( m_bIsEmpty || m_pData == NULL ); }
-
- virtual void Parse(const TCHAR* szValue) = 0;
- virtual CSchemaType& Assign(const CSchemaType& rOther);
- virtual void Empty();
-
- typedef const TCHAR* basetype;
- protected:
- void Clone(const CSchemaBinaryBase& rOther);
- void Clone(const unsigned char* pData, int nSize);
-
- int m_nSize;
- unsigned char* m_pData;
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaHexBinary
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaHexBinary : public CSchemaBinaryBase
- {
- public:
- CSchemaHexBinary() {};
- CSchemaHexBinary(const CSchemaBinaryBase& rOther) : CSchemaBinaryBase(rOther) {};
- CSchemaHexBinary(const unsigned char* pData, int nSize) : CSchemaBinaryBase(pData, nSize) {};
- CSchemaHexBinary(const TCHAR* szValue);
- CSchemaHexBinary(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_HexBinary };
-
- friend CSchemaType;
- virtual CSchemaHexBinary& operator=(const CSchemaType& rOther) { return (CSchemaHexBinary&)Assign(rOther); }
- virtual CSchemaHexBinary& operator=(const CSchemaHexBinary& rOther) { return (CSchemaHexBinary&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
-
- virtual void Parse(const TCHAR* szValue);
-
- typedef const TCHAR* basetype;
- protected:
- static const TCHAR sm_EncodeArray\[\];
- static const TCHAR sm_DecodeArray\[\];
- };
-
-
- ////////////////////////////////////////////////////////////////////////
- //
- // CSchemaBase64Binary
- //
- ////////////////////////////////////////////////////////////////////////
-
-
- class ALTOVA_DECLSPECIFIER CSchemaBase64Binary : public CSchemaBinaryBase
- {
- public:
- CSchemaBase64Binary() {};
- CSchemaBase64Binary(const CSchemaBinaryBase& rOther) : CSchemaBinaryBase(rOther ) {};
- CSchemaBase64Binary(const unsigned char* pData, int nSize) : CSchemaBinaryBase(pData, nSize) {};
- CSchemaBase64Binary(const TCHAR* szValue);
- CSchemaBase64Binary(const CSchemaType& rOther);
-
- enum { TYPE = CSchemaType::k_Base64Binary };
-
- friend CSchemaType;
- virtual CSchemaBase64Binary& operator=(const CSchemaType& rOther) { return (CSchemaBase64Binary&)Assign(rOther); }
- virtual CSchemaBase64Binary& operator=(const CSchemaBase64Binary& rOther) { return (CSchemaBase64Binary&)Assign(rOther); }
-
- // from CSchemaType
- virtual operator tstring() const;
-
- virtual void Parse(const TCHAR* szValue);
-
- typedef const TCHAR* basetype;
- protected:
- void Encode(unsigned char* pSrc, int nSrcSize, TCHAR*& rszDst, int& rnDstSize, int nMaxLineLength = 76) const;
- void Decode(const TCHAR* szSrc, unsigned char*& rpDst, int& rnDstSize);
-
- static const TCHAR sm_EncodeArray\[\];
- static const TCHAR sm_DecodeArray\[\];
- };
-
-
- } // namespace altova
-
- #endif // ALTOVA_SCHEMATYPES_H_INCLUDED
-