tng         2003/01/30 13:56:23

  Modified:    c/src/xercesc/validators/datatype
                        AbstractNumericFacetValidator.cpp
                        AbstractNumericValidator.cpp DateTimeValidator.cpp
                        DecimalDatatypeValidator.cpp
  Log:
  Performance: call getRawData instead of toString
  
  Revision  Changes    Path
  1.9       +13 -16    
xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.cpp
  
  Index: AbstractNumericFacetValidator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AbstractNumericFacetValidator.cpp 25 Jan 2003 16:33:25 -0000      1.8
  +++ AbstractNumericFacetValidator.cpp 30 Jan 2003 21:56:22 -0000      1.9
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.9  2003/01/30 21:56:22  tng
  + * Performance: call getRawData instead of toString
  + *
    * Revision 1.8  2003/01/25 16:33:25  peiyongz
    * wrong error code.
    *
  @@ -115,30 +118,24 @@
   const int AbstractNumericFacetValidator::INDETERMINATE = 2;
   
   #define  REPORT_FACET_ERROR(val1, val2, except_code)    \
  -  XMLCh* value1 = (val1)->toString();                   \
  -  ArrayJanitor<XMLCh> jan1(value1);                     \
  -  XMLCh* value2 = (val2)->toString();                   \
  -  ArrayJanitor<XMLCh> jan2(value2);                     \
     ThrowXML2(InvalidDatatypeFacetException               \
             , except_code                                 \
  -          , value2                                      \
  -          , value1);
  +          , val1->getRawData()                          \
  +          , val2->getRawData());
   
   
   #define  FROM_BASE_VALUE_SPACE(val, facetFlag, except_code)   \
     if ((thisFacetsDefined & facetFlag) != 0)                   \
   {                                                             \
  -    XMLCh* value1 = (val)->toString();                        \
  -    ArrayJanitor<XMLCh> jan(value1);                          \
       try                                                       \
   {                                                             \
  -        numBase->checkContent(value1, false);                 \
  +        numBase->checkContent(val->getRawData(), false);      \
   }                                                             \
       catch ( XMLException& )                                   \
   {                                                             \
           ThrowXML1(InvalidDatatypeFacetException               \
                   , except_code                                 \
  -                , value1);                                    \
  +                , val->getRawData());                         \
   }                                                             \
   }
   
  @@ -538,13 +535,13 @@
               }
   
               /**
  -             * Schema Errata 
  +             * Schema Errata
                * E2-16 maxExclusive
  -             *             
  +             *
                *   derived type's maxExclusive must either be
                *   1) equal to base' maxExclusive or
                *   2) from the base type value space
  -             *  
  +             *
                */
               if (result != 0)
               {
  @@ -622,9 +619,9 @@
               }
   
               /**
  -             * Schema Errata 
  +             * Schema Errata
                * E2-16 maxExclusive
  -             *             
  +             *
                *   derived type's minExclusive must either be
                *   1) equal to base' minxExclusive or
                *   2) from the base type value space
  
  
  
  1.3       +6 -7      
xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.cpp
  
  Index: AbstractNumericValidator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractNumericValidator.cpp      4 Nov 2002 14:53:27 -0000       1.2
  +++ AbstractNumericValidator.cpp      30 Jan 2003 21:56:22 -0000      1.3
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.3  2003/01/30 21:56:22  tng
  + * Performance: call getRawData instead of toString
  + *
    * Revision 1.2  2002/11/04 14:53:27  tng
    * C++ Namespace Support.
    *
  @@ -80,14 +83,10 @@
   XERCES_CPP_NAMESPACE_BEGIN
   
   #define  REPORT_VALUE_ERROR(val1, val2, except_code)    \
  -  XMLCh* value1 = (val1)->toString();                   \
  -  ArrayJanitor<XMLCh> jan1(value1);                     \
  -  XMLCh* value2 = (val2)->toString();                   \
  -  ArrayJanitor<XMLCh> jan2(value2);                     \
     ThrowXML2(InvalidDatatypeValueException               \
             , except_code                                 \
  -          , value1                                      \
  -          , value2);
  +          , val1->getRawData()                          \
  +          , val2->getRawData());
   
   // ---------------------------------------------------------------------------
   //  Constructors and Destructor
  
  
  
  1.4       +7 -7      
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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DateTimeValidator.cpp     27 Nov 2002 21:26:55 -0000      1.3
  +++ DateTimeValidator.cpp     30 Jan 2003 21:56:22 -0000      1.4
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.4  2003/01/30 21:56:22  tng
  + * Performance: call getRawData instead of toString
  + *
    * Revision 1.3  2002/11/27 21:26:55  peiyongz
    * Schema Errat E2-24 Duration 'T': allow SchemaDateTimeException be
    * propogated to client.
  @@ -93,14 +96,10 @@
   //  Macro
   // ---------------------------------------------------------------------------
   #define  REPORT_VALUE_ERROR(val1, val2, except_code)    \
  -  XMLCh* value1 = (val1)->toString();                   \
  -  ArrayJanitor<XMLCh> jan1(value1);                     \
  -  XMLCh* value2 = (val2)->toString();                   \
  -  ArrayJanitor<XMLCh> jan2(value2);                     \
     ThrowXML2(InvalidDatatypeValueException               \
             , except_code                                 \
  -          , value1                                      \
  -          , value2);
  +          , val1->getRawData()                          \
  +          , val2->getRawData());
   
   // ---------------------------------------------------------------------------
   //  Constructors and Destructor
  
  
  
  1.6       +7 -8      
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DecimalDatatypeValidator.cpp      18 Dec 2002 14:17:55 -0000      1.5
  +++ DecimalDatatypeValidator.cpp      30 Jan 2003 21:56:22 -0000      1.6
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.6  2003/01/30 21:56:22  tng
  + * Performance: call getRawData instead of toString
  + *
    * Revision 1.5  2002/12/18 14:17:55  gareth
    * Fix to bug #13438. When you eant a vector that calls delete[] on its members you 
should use RefArrayVectorOf.
    *
  @@ -521,14 +524,12 @@
           if ( (thisFacetsDefined & DatatypeValidator::FACET_FRACTIONDIGITS) != 0 )
           {
               if ( theData->getScale() > fFractionDigits )
  -            {
  -                XMLCh* value = theData->toString();
  -                ArrayJanitor<XMLCh> jan(value);
  +            {                
                   XMLString::binToText(theData->getScale(), value1, BUF_LEN, 10);
                   XMLString::binToText(fFractionDigits, value2, BUF_LEN, 10);
                   ThrowXML3(InvalidDatatypeFacetException
                                    , XMLExcepts::VALUE_exceed_fractDigit
  -                                 , value
  +                                 , theData->getRawData()
                                    , value1
                                    , value2);
               }
  @@ -537,14 +538,12 @@
           if ( (thisFacetsDefined & DatatypeValidator::FACET_TOTALDIGITS) != 0 )
           {
               if ( theData->getTotalDigit() > fTotalDigits )
  -            {
  -                XMLCh* value = theData->toString();
  -                ArrayJanitor<XMLCh> jan(value);
  +            {                
                   XMLString::binToText(theData->getTotalDigit(), value1, BUF_LEN, 10);
                   XMLString::binToText(fTotalDigits, value2, BUF_LEN, 10);
                   ThrowXML3(InvalidDatatypeFacetException
                                    , XMLExcepts::VALUE_exceed_totalDigit
  -                                 , value
  +                                 , theData->getRawData()
                                    , value1
                                    , value2);
               }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to