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]

Reply via email to