knoaman 2003/08/13 20:00:12 Modified: c/src/xercesc/validators/datatype DateDatatypeValidator.cpp DateDatatypeValidator.hpp DateTimeDatatypeValidator.cpp DateTimeDatatypeValidator.hpp DateTimeValidator.cpp DateTimeValidator.hpp DayDatatypeValidator.cpp DayDatatypeValidator.hpp DecimalDatatypeValidator.cpp DecimalDatatypeValidator.hpp DurationDatatypeValidator.cpp DurationDatatypeValidator.hpp MonthDatatypeValidator.cpp MonthDatatypeValidator.hpp MonthDayDatatypeValidator.cpp MonthDayDatatypeValidator.hpp TimeDatatypeValidator.cpp TimeDatatypeValidator.hpp YearDatatypeValidator.cpp YearDatatypeValidator.hpp YearMonthDatatypeValidator.cpp YearMonthDatatypeValidator.hpp Log: Code refactoring to improve performance of validation. Revision Changes Path 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/DateDatatypeValidator.cpp Index: DateDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DateDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ DateDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void DateDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseDate(); } XERCES_CPP_NAMESPACE_END 1.5 +5 -1 xml-xerces/c/src/xercesc/validators/datatype/DateDatatypeValidator.hpp Index: DateDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DateDatatypeValidator.hpp 15 May 2003 18:53:26 -0000 1.4 +++ DateDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:26 knoaman * Partial implementation of the configurable memory manager. * @@ -125,6 +128,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); + virtual void parse(XMLDateTime* const); }; XERCES_CPP_NAMESPACE_END 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/DateTimeDatatypeValidator.cpp Index: DateTimeDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DateTimeDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ DateTimeDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void DateTimeDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseDateTime(); } XERCES_CPP_NAMESPACE_END 1.5 +5 -1 xml-xerces/c/src/xercesc/validators/datatype/DateTimeDatatypeValidator.hpp Index: DateTimeDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DateTimeDatatypeValidator.hpp 15 May 2003 18:53:26 -0000 1.4 +++ DateTimeDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:26 knoaman * Partial implementation of the configurable memory manager. * @@ -125,6 +128,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); + virtual void parse(XMLDateTime* const); }; XERCES_CPP_NAMESPACE_END 1.8 +62 -58 xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp Index: DateTimeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- DateTimeValidator.cpp 18 May 2003 14:02:07 -0000 1.7 +++ DateTimeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.8 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.8 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.7 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -114,7 +117,10 @@ // Constructors and Destructor // --------------------------------------------------------------------------- DateTimeValidator::~DateTimeValidator() -{} +{ + if (fDateTime) + delete fDateTime; +} DateTimeValidator::DateTimeValidator( DatatypeValidator* const baseValidator @@ -123,6 +129,7 @@ , const ValidatorType type , MemoryManager* const manager) :AbstractNumericFacetValidator(baseValidator, facets, finalSet, type, manager) +, fDateTime(0) { //do not invoke init() here !!! } @@ -207,78 +214,75 @@ if (asBase) return; + // the derived classes' parse() method constructs an + // XMLDateTime object anc invokes appropriate XMLDateTime's + // parser to parse the content. + if (fDateTime) + fDateTime->setBuffer(content); + else + fDateTime = new (fMemoryManager) XMLDateTime(content, fMemoryManager); - { - // the derived classes' parse() method constructs an - // XMLDateTime object anc invokes appropriate XMLDateTime's - // parser to parse the content. - XMLDateTime *theDate = parse(content); - Janitor<XMLDateTime> jname(theDate); - int result; + parse(fDateTime); - // must be < MaxExclusive - if ( (thisFacetsDefined & DatatypeValidator::FACET_MAXEXCLUSIVE) != 0 ) + // must be < MaxExclusive + if ((thisFacetsDefined & DatatypeValidator::FACET_MAXEXCLUSIVE) != 0) + { + if (compareValues(fDateTime, getMaxExclusive()) != XMLDateTime::LESS_THAN) { - result = compareValues(theDate, getMaxExclusive()); - if ( result != XMLDateTime::LESS_THAN ) - { - REPORT_VALUE_ERROR(theDate - , getMaxExclusive() - , XMLExcepts::VALUE_exceed_maxExcl) - } - } + REPORT_VALUE_ERROR( fDateTime + , getMaxExclusive() + , XMLExcepts::VALUE_exceed_maxExcl) + } + } - // must be <= MaxInclusive - if ( (thisFacetsDefined & DatatypeValidator::FACET_MAXINCLUSIVE) != 0 ) + // must be <= MaxInclusive + if ((thisFacetsDefined & DatatypeValidator::FACET_MAXINCLUSIVE) != 0) + { + int result = compareValues(fDateTime, getMaxInclusive()); + if ( result == XMLDateTime::GREATER_THAN || result == XMLDateTime::INDETERMINATE ) { - result = compareValues(theDate, getMaxInclusive()); - if ( result == XMLDateTime::GREATER_THAN || result == XMLDateTime::INDETERMINATE ) - { - REPORT_VALUE_ERROR(theDate - , getMaxInclusive() - , XMLExcepts::VALUE_exceed_maxIncl) - } + REPORT_VALUE_ERROR( fDateTime + , getMaxInclusive() + , XMLExcepts::VALUE_exceed_maxIncl) } + } - // must be >= MinInclusive - if ( (thisFacetsDefined & DatatypeValidator::FACET_MININCLUSIVE) != 0 ) + // must be >= MinInclusive + if ((thisFacetsDefined & DatatypeValidator::FACET_MININCLUSIVE) != 0) + { + int result = compareValues(fDateTime, getMinInclusive()); + if (result == XMLDateTime::LESS_THAN || result == XMLDateTime::INDETERMINATE) { - result = compareValues(theDate, getMinInclusive()); - if (result == XMLDateTime::LESS_THAN || result == XMLDateTime::INDETERMINATE ) - { - REPORT_VALUE_ERROR(theDate - , getMinInclusive() - , XMLExcepts::VALUE_exceed_minIncl) - } + REPORT_VALUE_ERROR( fDateTime + , getMinInclusive() + , XMLExcepts::VALUE_exceed_minIncl) } + } - // must be > MinExclusive - if ( (thisFacetsDefined & DatatypeValidator::FACET_MINEXCLUSIVE) != 0 ) + // must be > MinExclusive + if ( (thisFacetsDefined & DatatypeValidator::FACET_MINEXCLUSIVE) != 0 ) + { + if (compareValues(fDateTime, getMinExclusive()) != XMLDateTime::GREATER_THAN) { - result = compareValues(theDate, getMinExclusive()); - if (result != XMLDateTime::GREATER_THAN) - { - REPORT_VALUE_ERROR(theDate - , getMinExclusive() - , XMLExcepts::VALUE_exceed_minExcl) - } + REPORT_VALUE_ERROR( fDateTime + , getMinExclusive() + , XMLExcepts::VALUE_exceed_minExcl) } + } - if ((thisFacetsDefined & DatatypeValidator::FACET_ENUMERATION) != 0 && - (getEnumeration() != 0)) + if ((thisFacetsDefined & DatatypeValidator::FACET_ENUMERATION) != 0 && + (getEnumeration() != 0)) + { + int i=0; + int enumLength = getEnumeration()->size(); + for ( ; i < enumLength; i++) { - int i=0; - int enumLength = getEnumeration()->size(); - for ( ; i < enumLength; i++) - { - if (compareValues(theDate, getEnumeration()->elementAt(i)) == XMLDateTime::EQUAL) - break; - } - - if (i == enumLength) - ThrowXML1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content); + if (compareValues(fDateTime, getEnumeration()->elementAt(i)) == XMLDateTime::EQUAL) + break; } + if (i == enumLength) + ThrowXML1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content); } } 1.4 +7 -1 xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.hpp Index: DateTimeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DateTimeValidator.hpp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- DateTimeValidator.hpp 15 May 2003 18:53:26 -0000 1.3 +++ DateTimeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.4 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.4 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.3 2003/05/15 18:53:26 knoaman * Partial implementation of the configurable memory manager. * @@ -151,12 +154,15 @@ // helper interface: to be implemented/overwritten by derived class // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const) = 0; + virtual void parse(XMLDateTime* const) = 0; // to be overwritten by duration virtual int compareDates(const XMLDateTime* const lValue , const XMLDateTime* const rValue , bool strict); +private: + XMLDateTime* fDateTime; }; XERCES_CPP_NAMESPACE_END 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/DayDatatypeValidator.cpp Index: DayDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DayDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DayDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ DayDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void DayDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseDay(); } XERCES_CPP_NAMESPACE_END 1.5 +5 -1 xml-xerces/c/src/xercesc/validators/datatype/DayDatatypeValidator.hpp Index: DayDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DayDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DayDatatypeValidator.hpp 15 May 2003 18:53:26 -0000 1.4 +++ DayDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:26 knoaman * Partial implementation of the configurable memory manager. * @@ -125,6 +128,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); + virtual void parse(XMLDateTime* const); }; XERCES_CPP_NAMESPACE_END 1.12 +24 -14 xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp Index: DecimalDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.cpp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- DecimalDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.11 +++ DecimalDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.12 @@ -56,6 +56,9 @@ /* * $Log$ + * Revision 1.12 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.11 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -169,6 +172,7 @@ :AbstractNumericValidator(0, 0, 0, DatatypeValidator::Decimal, manager) , fTotalDigits(0) , fFractionDigits(0) +, fCompareData(0) {} DecimalDatatypeValidator::DecimalDatatypeValidator( @@ -180,12 +184,16 @@ :AbstractNumericValidator(baseValidator, facets, finalSet, DatatypeValidator::Decimal, manager) , fTotalDigits(0) , fFractionDigits(0) +, fCompareData(0) { init(enums); } DecimalDatatypeValidator::~DecimalDatatypeValidator() -{} +{ + if (fCompareData) + delete fCompareData; +} // ----------------------------------------------------------------------- // Compare methods @@ -521,8 +529,10 @@ return; try { - XMLBigDecimal theValue(content, fMemoryManager); - XMLBigDecimal *theData = &theValue; + if (fCompareData) + fCompareData->setDecimalValue(content); + else + fCompareData = new (fMemoryManager) XMLBigDecimal(content, fMemoryManager); if (getEnumeration()) { @@ -530,7 +540,7 @@ int enumLength = getEnumeration()->size(); for ( ; i < enumLength; i++) { - if (compareValues(theData, (XMLBigDecimal*) getEnumeration()->elementAt(i)) ==0 ) + if (compareValues(fCompareData, (XMLBigDecimal*) getEnumeration()->elementAt(i)) ==0 ) break; } @@ -538,17 +548,17 @@ ThrowXML1(InvalidDatatypeValueException, XMLExcepts::VALUE_NotIn_Enumeration, content); } - boundsCheck(theData); + boundsCheck(fCompareData); if ( (thisFacetsDefined & DatatypeValidator::FACET_FRACTIONDIGITS) != 0 ) { - if ( theData->getScale() > fFractionDigits ) + if ( fCompareData->getScale() > fFractionDigits ) { - XMLString::binToText(theData->getScale(), value1, BUF_LEN, 10); + XMLString::binToText(fCompareData->getScale(), value1, BUF_LEN, 10); XMLString::binToText(fFractionDigits, value2, BUF_LEN, 10); ThrowXML3(InvalidDatatypeFacetException , XMLExcepts::VALUE_exceed_fractDigit - , theData->getRawData() + , fCompareData->getRawData() , value1 , value2); } @@ -556,13 +566,13 @@ if ( (thisFacetsDefined & DatatypeValidator::FACET_TOTALDIGITS) != 0 ) { - if ( theData->getTotalDigit() > fTotalDigits ) + if ( fCompareData->getTotalDigit() > fTotalDigits ) { - XMLString::binToText(theData->getTotalDigit(), value1, BUF_LEN, 10); + XMLString::binToText(fCompareData->getTotalDigit(), value1, BUF_LEN, 10); XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10); ThrowXML3(InvalidDatatypeFacetException , XMLExcepts::VALUE_exceed_totalDigit - , theData->getRawData() + , fCompareData->getRawData() , value1 , value2); } @@ -574,13 +584,13 @@ where i and n are integers such that |i| < 10^totalDigits and 0 <= n <= totalDigits. ***/ - if ( theData->getScale() > fTotalDigits ) + if ( fCompareData->getScale() > fTotalDigits ) { - XMLString::binToText(theData->getScale(), value1, BUF_LEN, 10); + XMLString::binToText(fCompareData->getScale(), value1, BUF_LEN, 10); XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10); ThrowXML3(InvalidDatatypeFacetException , XMLExcepts::VALUE_exceed_totalDigit - , theData->getRawData() + , fCompareData->getRawData() , value1 , value2); } 1.7 +9 -4 xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.hpp Index: DecimalDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DecimalDatatypeValidator.hpp,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- DecimalDatatypeValidator.hpp 22 May 2003 02:10:52 -0000 1.6 +++ DecimalDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.7 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.7 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.6 2003/05/22 02:10:52 knoaman * Default the memory manager. * @@ -97,6 +100,8 @@ XERCES_CPP_NAMESPACE_BEGIN +class XMLBigDecimal; + class VALIDATORS_EXPORT DecimalDatatypeValidator : public AbstractNumericValidator { public: @@ -221,9 +226,9 @@ // Private data members // // ----------------------------------------------------------------------- - unsigned int fTotalDigits; - unsigned int fFractionDigits; - + unsigned int fTotalDigits; + unsigned int fFractionDigits; + XMLBigDecimal* fCompareData; }; // ----------------------------------------------------------------------- 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/DurationDatatypeValidator.cpp Index: DurationDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DurationDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- DurationDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ DurationDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void DurationDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseDuration(); } int DurationDatatypeValidator::compareDates(const XMLDateTime* const date1 1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/DurationDatatypeValidator.hpp Index: DurationDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DurationDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DurationDatatypeValidator.hpp 15 May 2003 18:53:26 -0000 1.4 +++ DurationDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:26 knoaman * Partial implementation of the configurable memory manager. * @@ -125,7 +128,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); - + virtual void parse(XMLDateTime* const); virtual int compareDates(const XMLDateTime* const , const XMLDateTime* const , bool ); 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/MonthDatatypeValidator.cpp Index: MonthDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/MonthDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- MonthDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ MonthDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void MonthDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseMonth(); } XERCES_CPP_NAMESPACE_END 1.5 +5 -1 xml-xerces/c/src/xercesc/validators/datatype/MonthDatatypeValidator.hpp Index: MonthDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/MonthDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- MonthDatatypeValidator.hpp 15 May 2003 18:53:26 -0000 1.4 +++ MonthDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:26 knoaman * Partial implementation of the configurable memory manager. * @@ -125,6 +128,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); + virtual void parse(XMLDateTime* const); }; XERCES_CPP_NAMESPACE_END 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/MonthDayDatatypeValidator.cpp Index: MonthDayDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/MonthDayDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- MonthDayDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ MonthDayDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void MonthDayDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseMonthDay(); } XERCES_CPP_NAMESPACE_END 1.5 +5 -1 xml-xerces/c/src/xercesc/validators/datatype/MonthDayDatatypeValidator.hpp Index: MonthDayDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/MonthDayDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- MonthDayDatatypeValidator.hpp 15 May 2003 18:53:26 -0000 1.4 +++ MonthDayDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:26 knoaman * Partial implementation of the configurable memory manager. * @@ -125,6 +128,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); + virtual void parse(XMLDateTime* const); }; XERCES_CPP_NAMESPACE_END 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/TimeDatatypeValidator.cpp Index: TimeDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/TimeDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- TimeDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ TimeDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void TimeDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseTime(); } XERCES_CPP_NAMESPACE_END 1.5 +5 -1 xml-xerces/c/src/xercesc/validators/datatype/TimeDatatypeValidator.hpp Index: TimeDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/TimeDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- TimeDatatypeValidator.hpp 15 May 2003 18:53:27 -0000 1.4 +++ TimeDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:27 knoaman * Partial implementation of the configurable memory manager. * @@ -127,6 +130,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); + virtual void parse(XMLDateTime* const); }; XERCES_CPP_NAMESPACE_END 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/YearDatatypeValidator.cpp Index: YearDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/YearDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- YearDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ YearDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void YearDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseYear(); } XERCES_CPP_NAMESPACE_END 1.5 +5 -2 xml-xerces/c/src/xercesc/validators/datatype/YearDatatypeValidator.hpp Index: YearDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/YearDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- YearDatatypeValidator.hpp 15 May 2003 18:53:27 -0000 1.4 +++ YearDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:27 knoaman * Partial implementation of the configurable memory manager. * @@ -125,7 +128,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); -}; + virtual void parse(XMLDateTime* const);}; XERCES_CPP_NAMESPACE_END 1.6 +9 -1 xml-xerces/c/src/xercesc/validators/datatype/YearMonthDatatypeValidator.cpp Index: YearMonthDatatypeValidator.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/YearMonthDatatypeValidator.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- YearMonthDatatypeValidator.cpp 18 May 2003 14:02:07 -0000 1.5 +++ YearMonthDatatypeValidator.cpp 14 Aug 2003 03:00:11 -0000 1.6 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.6 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.5 2003/05/18 14:02:07 knoaman * Memory manager implementation: pass per instance manager. * @@ -140,6 +143,11 @@ } return pRetDate; +} + +void YearMonthDatatypeValidator::parse(XMLDateTime* const pDate) +{ + pDate->parseYearMonth(); } XERCES_CPP_NAMESPACE_END 1.5 +5 -1 xml-xerces/c/src/xercesc/validators/datatype/YearMonthDatatypeValidator.hpp Index: YearMonthDatatypeValidator.hpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/datatype/YearMonthDatatypeValidator.hpp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- YearMonthDatatypeValidator.hpp 15 May 2003 18:53:27 -0000 1.4 +++ YearMonthDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000 1.5 @@ -57,6 +57,9 @@ /* * $Id$ * $Log$ + * Revision 1.5 2003/08/14 03:00:11 knoaman + * Code refactoring to improve performance of validation. + * * Revision 1.4 2003/05/15 18:53:27 knoaman * Partial implementation of the configurable memory manager. * @@ -125,6 +128,7 @@ // implementation of (DateTimeValidator's) virtual interface // ----------------------------------------------------------------------- virtual XMLDateTime* parse(const XMLCh* const); + virtual void parse(XMLDateTime* const); }; XERCES_CPP_NAMESPACE_END
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]