peiyongz    2003/10/02 12:21:08

  Modified:    c/src/xercesc/validators/datatype
                        AbstractNumericFacetValidator.cpp
                        AbstractNumericFacetValidator.hpp
                        AbstractNumericValidator.cpp
                        AbstractNumericValidator.hpp
                        DateDatatypeValidator.cpp DateDatatypeValidator.hpp
                        DateTimeDatatypeValidator.cpp
                        DateTimeDatatypeValidator.hpp DateTimeValidator.cpp
                        DateTimeValidator.hpp DayDatatypeValidator.cpp
                        DayDatatypeValidator.hpp
                        DecimalDatatypeValidator.cpp
                        DecimalDatatypeValidator.hpp
                        DoubleDatatypeValidator.cpp
                        DoubleDatatypeValidator.hpp
                        DurationDatatypeValidator.cpp
                        DurationDatatypeValidator.hpp
                        FloatDatatypeValidator.cpp
                        FloatDatatypeValidator.hpp
                        MonthDatatypeValidator.cpp
                        MonthDatatypeValidator.hpp
                        MonthDayDatatypeValidator.cpp
                        MonthDayDatatypeValidator.hpp
                        TimeDatatypeValidator.cpp TimeDatatypeValidator.hpp
                        YearDatatypeValidator.cpp YearDatatypeValidator.hpp
                        YearMonthDatatypeValidator.cpp
                        YearMonthDatatypeValidator.hpp
  Log:
  Implementation of Serialization/Deserialization
  
  Revision  Changes    Path
  1.13      +188 -1    
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.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- AbstractNumericFacetValidator.cpp 15 May 2003 18:53:26 -0000      1.12
  +++ AbstractNumericFacetValidator.cpp 2 Oct 2003 19:21:06 -0000       1.13
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.13  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.12  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -121,6 +124,14 @@
   #include <xercesc/validators/datatype/InvalidDatatypeFacetException.hpp>
   #include <xercesc/util/NumberFormatException.hpp>
   
  +//since we need to dynamically created each and every derivatives 
  +//during deserialization by XSerializeEngine>>Derivative, we got
  +//to include all hpp
  +#include <xercesc/util/XMLFloat.hpp>
  +#include <xercesc/util/XMLDouble.hpp>
  +#include <xercesc/util/XMLBigDecimal.hpp>
  +#include <xercesc/util/XMLDateTime.hpp>
  +
   XERCES_CPP_NAMESPACE_BEGIN
   
   const int AbstractNumericFacetValidator::INDETERMINATE = 2;
  @@ -854,6 +865,182 @@
   const RefArrayVectorOf<XMLCh>* AbstractNumericFacetValidator::getEnumString() const
   {
        return (fEnumerationInherited? getBaseValidator()->getEnumString() : 
fStrEnumeration );
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_NOCREATE(AbstractNumericFacetValidator)
  +
  +/***
  + *  This dv needs to serialize/deserialize four boundary data members
  + *  which are derivatives of XMLlNumber.
  + *  The derivatives of this class, namely, Deciamldv, Doubledv, Floatdv and
  + *  DateTimedv needs to write a typeEnum into the binary data stream, so
  + *  during loading, this method reads the typeEnum first, and then instantiate
  + *  the right type of objects, say XMLDouble, XMLFloat, XMLBigDecimal and 
  + *  XMLDateTime.
  + *
  + *  
  + ***/
  +void AbstractNumericFacetValidator::serialize(XSerializeEngine& serEng)
  +{
  +
  +    if (serEng.isStoring())
  +    {
  +
  +        DatatypeValidator::serialize(serEng);
  +
  +        serEng<<fMaxInclusiveInherited;
  +        serEng<<fMaxExclusiveInherited;
  +        serEng<<fMinInclusiveInherited;
  +        serEng<<fMinExclusiveInherited;
  +        serEng<<fEnumerationInherited;
  + 
  +        // need not write type info for the XMLNumber since
  +        // the derivative class has done that
  +        serEng<<fMaxInclusive;
  +        serEng<<fMaxExclusive;
  +        serEng<<fMinInclusive;
  +        serEng<<fMinExclusive;
  +
  +        /***
  +         * Serialize RefArrayVectorOf<XMLCh>
  +         ***/
  +        if (fStrEnumeration)
  +        {
  +            int enumLength = fStrEnumeration->size();
  +            serEng<<enumLength;
  +
  +            for ( int i = 0 ; i < enumLength; i++)
  +            {            
  +                serEng.writeString(fStrEnumeration->elementAt(i));
  +            }
  +        }
  +        else
  +        {
  +            serEng<<0;
  +        }
  +
  +        /***
  +         * Serialize RefVectorOf<XMLNumber>
  +         ***/
  +        if (fEnumeration)
  +        {           
  +            int enumLength = fEnumeration->size();
  +            serEng<<enumLength;
  +
  +            for ( int i=0; i < enumLength; i++)
  +            {
  +                serEng<<fEnumeration->elementAt(i);
  +            }
  +        }
  +        else
  +        {
  +            serEng<<0;
  +        }
  +    
  +    }
  +    else
  +    {
  +        // Read the number type info for the XMLNumber FIRST!!!
  +        int                     nType;
  +        XMLNumber::NumberType   numType;
  +        serEng>>nType;
  +        numType = (XMLNumber::NumberType) nType;
  +
  +        DatatypeValidator::serialize(serEng);
  +
  +        serEng>>fMaxInclusiveInherited;
  +        serEng>>fMaxExclusiveInherited;
  +        serEng>>fMinInclusiveInherited;
  +        serEng>>fMinExclusiveInherited;
  +        serEng>>fEnumerationInherited;
  +
  +        fMaxInclusive=readNumber(numType, serEng);
  +        fMaxExclusive=readNumber(numType, serEng);
  +        fMinInclusive=readNumber(numType, serEng);
  +        fMinExclusive=readNumber(numType, serEng);
  +
  +        /***
  +          *  Deserialize RefArrayVectorOf<XMLCh>         
  +         ***/
  +        int enumLength = 0;;
  +        serEng>>enumLength;
  +
  +        if (enumLength)
  +        {
  +            if (!fStrEnumeration)
  +            {
  +                fStrEnumeration = new (fMemoryManager) RefArrayVectorOf<XMLCh>(8, 
true, fMemoryManager);
  +            }
  +
  +            for ( int i = 0; i < enumLength; i++)
  +            {
  +                XMLCh* enumVal;
  +                serEng.readString(enumVal);
  +                fStrEnumeration->addElement(enumVal);
  +            }
  +        }
  +
  +        /***
  +          *  Deserialize RefVectorOf<XMLNumber>         
  +         ***/
  +        enumLength = 0;;
  +        serEng>>enumLength;
  +
  +        if (enumLength)
  +        {
  +            if (!fEnumeration)
  +            {
  +                fEnumeration = new (fMemoryManager) RefVectorOf<XMLNumber>(8, true, 
fMemoryManager);
  +            }
  +
  +            for ( int i = 0; i < enumLength; i++)
  +            {
  +                fEnumeration->addElement(readNumber(numType, serEng));
  +            }
  +        }
  +
  +    }
  +
  +}
  +
  +XMLNumber* AbstractNumericFacetValidator::readNumber(XMLNumber::NumberType  numType
  +                                                   , XSerializeEngine&      serEng)
  +{
  +
  +    switch((XMLNumber::NumberType) numType)
  +    {
  +    case XMLNumber::Float: 
  +        XMLFloat* floatNum;
  +        serEng>>floatNum;
  +        return floatNum;
  +        break;
  +    case XMLNumber::Double:
  +        XMLDouble* doubleNum;
  +        serEng>>doubleNum;
  +        return doubleNum;
  +        break;
  +    case XMLNumber::BigDecimal: 
  +        XMLBigDecimal* bigdecimalNum;
  +        serEng>>bigdecimalNum;
  +        return bigdecimalNum;
  +        break;
  +    case XMLNumber::DateTime: 
  +        XMLDateTime* datetimeNum;
  +        serEng>>datetimeNum;
  +        return datetimeNum;
  +        break;
  +    case XMLNumber::UnKnown:
  +        return 0;
  +        break;
  +    default: //we treat this same as UnKnown
  +        return 0;
  +        break;
  +    }
  +
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.7       +12 -1     
xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.hpp
  
  Index: AbstractNumericFacetValidator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericFacetValidator.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AbstractNumericFacetValidator.hpp 15 May 2003 18:53:26 -0000      1.6
  +++ AbstractNumericFacetValidator.hpp 2 Oct 2003 19:21:06 -0000       1.7
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.7  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.6  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -112,6 +115,11 @@
   
        virtual const RefArrayVectorOf<XMLCh>* getEnumString() const;
   
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(AbstractNumericFacetValidator)
  +
   protected:
   
       AbstractNumericFacetValidator
  @@ -204,6 +212,9 @@
       void inspectFacetBase();
   
       void inheritFacet();
  +
  +    XMLNumber*          readNumber(XMLNumber::NumberType   numType
  +                                 , XSerializeEngine&       serEng);
   
   };
   
  
  
  
  1.6       +30 -1     
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- AbstractNumericValidator.cpp      15 May 2003 18:53:26 -0000      1.5
  +++ AbstractNumericValidator.cpp      2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -177,6 +180,32 @@
          ThrowXML1(InvalidDatatypeValueException, XMLExcepts::RethrowError, 
e.getMessage());
       }
   
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_NOCREATE(AbstractNumericValidator)
  +
  +void AbstractNumericValidator::serialize(XSerializeEngine& serEng)
  +{
  +    AbstractNumericFacetValidator::serialize(serEng);
  +
  +    /***
  +     * Need not to do anything else here
  +     *
  +     * Note: its derivatives, Doubledv, Floatdv and Decimaldv writes
  +     *       number type info into the binary data stream to be read
  +     *       by AbstractNumericFacetVaildator during loading, therefore
  +     *       this class can NOT write/read anything into/from the binary
  +     *       data stream.
  +     *
  +     *       Later on, if this class has to write/read something into/from
  +     *       the binary data stream, we need to add a numberType data
  +     *       to XMLNumber and let AbstractNumericFacetValidator to write/read
  +     *       this number type info.
  +     ***/
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.5       +9 -1      
xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.hpp
  
  Index: AbstractNumericValidator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractNumericValidator.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- AbstractNumericValidator.hpp      15 May 2003 18:53:26 -0000      1.4
  +++ AbstractNumericValidator.hpp      2 Oct 2003 19:21:06 -0000       1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.4  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -100,6 +103,11 @@
        //@}
   
        virtual void validate(const XMLCh* const content);
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(AbstractNumericValidator)
   
   protected:
   
  
  
  
  1.8       +15 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DateDatatypeValidator.cpp 1 Oct 2003 16:32:41 -0000       1.7
  +++ DateDatatypeValidator.cpp 2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -156,6 +159,17 @@
   void DateDatatypeValidator::parse(XMLDateTime* const pDate)
   {
       pDate->parseDate();
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(DateDatatypeValidator)
  +
  +void DateDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DateDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000      1.5
  +++ DateDatatypeValidator.hpp 2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -121,6 +124,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(DateDatatypeValidator)
   
   protected:
   
  
  
  
  1.8       +15 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DateTimeDatatypeValidator.cpp     1 Oct 2003 16:32:41 -0000       1.7
  +++ DateTimeDatatypeValidator.cpp     2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -156,6 +159,17 @@
   void DateTimeDatatypeValidator::parse(XMLDateTime* const pDate)
   {
       pDate->parseDateTime();
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(DateTimeDatatypeValidator)
  +
  +void DateTimeDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DateTimeDatatypeValidator.hpp     14 Aug 2003 03:00:11 -0000      1.5
  +++ DateTimeDatatypeValidator.hpp     2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -121,6 +124,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(DateTimeDatatypeValidator)
   
   protected:
   
  
  
  
  1.10      +28 -1     
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.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- DateTimeValidator.cpp     1 Oct 2003 16:32:41 -0000       1.9
  +++ DateTimeValidator.cpp     2 Oct 2003 19:21:06 -0000       1.10
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.10  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.9  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -369,6 +372,30 @@
       for ( int i = 0; i < enumLength; i++)
           fEnumeration->insertElementAt(parse(fStrEnumeration->elementAt(i)), i);
   
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_NOCREATE(DateTimeValidator)
  +
  +void DateTimeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    /***
  +     *
  +     * Note: All its derivatives share the same number type, that is
  +     *       XMLNumber::DateTime, so this class would write it.
  +     ***/
  +
  +    if (serEng.isStoring())
  +    {
  +        serEng<<(int) XMLNumber::DateTime;
  +    }
  +
  +    AbstractNumericFacetValidator::serialize(serEng);
  +
  +    //fDateTime can be instantiated during checkContent(), so don't serialize it.
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.5       +9 -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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DateTimeValidator.hpp     14 Aug 2003 03:00:11 -0000      1.4
  +++ DateTimeValidator.hpp     2 Oct 2003 19:21:06 -0000       1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.4  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -103,6 +106,11 @@
   
       virtual int  compare(const XMLCh* const value1
                          , const XMLCh* const value2);
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(DateTimeValidator)
   
   protected:
   
  
  
  
  1.8       +15 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DayDatatypeValidator.cpp  1 Oct 2003 16:32:41 -0000       1.7
  +++ DayDatatypeValidator.cpp  2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -156,6 +159,17 @@
   void DayDatatypeValidator::parse(XMLDateTime* const pDate)
   {
       pDate->parseDay();
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(DayDatatypeValidator)
  +
  +void DayDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DayDatatypeValidator.hpp  14 Aug 2003 03:00:11 -0000      1.5
  +++ DayDatatypeValidator.hpp  2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -121,6 +124,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(DayDatatypeValidator)
   
   protected:
   
  
  
  
  1.13      +29 -0     
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.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- DecimalDatatypeValidator.cpp      14 Aug 2003 03:00:11 -0000      1.12
  +++ DecimalDatatypeValidator.cpp      2 Oct 2003 19:21:06 -0000       1.13
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.13  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.12  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -602,6 +605,32 @@
       {
          ThrowXML1(InvalidDatatypeFacetException, XMLExcepts::RethrowError, 
e.getMessage());
       }
  +
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(DecimalDatatypeValidator)
  +
  +void DecimalDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    /***
  +     * Note: 
  +     *
  +     *     During storing, we need write the specific number
  +     *     type info before calling base::serialize().
  +     *
  +     *     While loading, we do nothing here
  +     ***/
  +
  +    if (serEng.isStoring())
  +    {
  +        serEng<<(int) (XMLNumber::BigDecimal);
  +    }
  +
  +    AbstractNumericValidator::serialize(serEng);
   
   }
   
  
  
  
  1.8       +9 -1      
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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DecimalDatatypeValidator.hpp      14 Aug 2003 03:00:11 -0000      1.7
  +++ DecimalDatatypeValidator.hpp      2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -156,6 +159,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(DecimalDatatypeValidator)
   
   protected:
   
  
  
  
  1.7       +30 -1     
xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp
  
  Index: DoubleDatatypeValidator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- DoubleDatatypeValidator.cpp       18 May 2003 14:02:07 -0000      1.6
  +++ DoubleDatatypeValidator.cpp       2 Oct 2003 19:21:06 -0000       1.7
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.7  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.6  2003/05/18 14:02:07  knoaman
    * Memory manager implementation: pass per instance manager.
    *
  @@ -319,6 +322,32 @@
       {
          ThrowXML1(InvalidDatatypeFacetException, XMLExcepts::RethrowError, 
e.getMessage());
       }
  +
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(DoubleDatatypeValidator)
  +
  +void DoubleDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    /***
  +     * Note: 
  +     *
  +     *     During storing, we need write the specific number
  +     *     type info before calling base::serialize().
  +     *
  +     *     While loading, we do nothing here
  +     ***/
  +
  +    if (serEng.isStoring())
  +    {
  +        serEng<<(int) (XMLNumber::Double);
  +    }
  +
  +    AbstractNumericValidator::serialize(serEng);
   
   }
   
  
  
  
  1.5       +9 -1      
xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.hpp
  
  Index: DoubleDatatypeValidator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/DoubleDatatypeValidator.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DoubleDatatypeValidator.hpp       15 May 2003 18:53:26 -0000      1.4
  +++ DoubleDatatypeValidator.hpp       2 Oct 2003 19:21:06 -0000       1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.4  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -151,6 +154,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(DoubleDatatypeValidator)
   
   protected:
   
  
  
  
  1.8       +15 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- DurationDatatypeValidator.cpp     1 Oct 2003 16:32:41 -0000       1.7
  +++ DurationDatatypeValidator.cpp     2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -163,6 +166,17 @@
                                             , bool                     strict)
   {
       return XMLDateTime::compare(date1, date2, strict);
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(DurationDatatypeValidator)
  +
  +void DurationDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -1      
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- DurationDatatypeValidator.hpp     14 Aug 2003 03:00:11 -0000      1.5
  +++ DurationDatatypeValidator.hpp     2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -121,6 +124,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(DurationDatatypeValidator)
   
   protected:
   
  
  
  
  1.7       +30 -1     
xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp
  
  Index: FloatDatatypeValidator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.cpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- FloatDatatypeValidator.cpp        18 May 2003 14:02:07 -0000      1.6
  +++ FloatDatatypeValidator.cpp        2 Oct 2003 19:21:06 -0000       1.7
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.7  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.6  2003/05/18 14:02:07  knoaman
    * Memory manager implementation: pass per instance manager.
    *
  @@ -319,6 +322,32 @@
       {
          ThrowXML1(InvalidDatatypeFacetException, XMLExcepts::RethrowError, 
e.getMessage());
       }
  +
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(FloatDatatypeValidator)
  +
  +void FloatDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    /***
  +     * Note: 
  +     *
  +     *     During storing, we need write the specific number
  +     *     type info before calling base::serialize().
  +     *
  +     *     While loading, we do nothing here
  +     ***/
  +
  +    if (serEng.isStoring())
  +    {
  +        serEng<<(int) (XMLNumber::Float);
  +    }
  +
  +    AbstractNumericValidator::serialize(serEng);
   
   }
   
  
  
  
  1.5       +9 -1      
xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.hpp
  
  Index: FloatDatatypeValidator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/FloatDatatypeValidator.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FloatDatatypeValidator.hpp        15 May 2003 18:53:26 -0000      1.4
  +++ FloatDatatypeValidator.hpp        2 Oct 2003 19:21:06 -0000       1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.4  2003/05/15 18:53:26  knoaman
    * Partial implementation of the configurable memory manager.
    *
  @@ -151,6 +154,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(FloatDatatypeValidator)
   
   protected:
   
  
  
  
  1.8       +16 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MonthDatatypeValidator.cpp        1 Oct 2003 16:32:41 -0000       1.7
  +++ MonthDatatypeValidator.cpp        2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -156,6 +159,18 @@
   void MonthDatatypeValidator::parse(XMLDateTime* const pDate)
   {
       pDate->parseMonth();
  +}
  +
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(MonthDatatypeValidator)
  +
  +void MonthDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MonthDatatypeValidator.hpp        14 Aug 2003 03:00:11 -0000      1.5
  +++ MonthDatatypeValidator.hpp        2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -121,6 +124,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(MonthDatatypeValidator)
   
   protected:
   
  
  
  
  1.8       +16 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- MonthDayDatatypeValidator.cpp     1 Oct 2003 16:32:41 -0000       1.7
  +++ MonthDayDatatypeValidator.cpp     2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -156,6 +159,18 @@
   void MonthDayDatatypeValidator::parse(XMLDateTime* const pDate)
   {
       pDate->parseMonthDay();
  +}
  +
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(MonthDayDatatypeValidator)
  +
  +void MonthDayDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MonthDayDatatypeValidator.hpp     14 Aug 2003 03:00:11 -0000      1.5
  +++ MonthDayDatatypeValidator.hpp     2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -121,6 +124,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(MonthDayDatatypeValidator)
   
   protected:
   
  
  
  
  1.8       +15 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- TimeDatatypeValidator.cpp 1 Oct 2003 16:32:41 -0000       1.7
  +++ TimeDatatypeValidator.cpp 2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -156,6 +159,17 @@
   void TimeDatatypeValidator::parse(XMLDateTime* const pDate)
   {
       pDate->parseTime();
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(TimeDatatypeValidator)
  +
  +void TimeDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TimeDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000      1.5
  +++ TimeDatatypeValidator.hpp 2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -123,6 +126,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(TimeDatatypeValidator)
   
   protected:
   
  
  
  
  1.8       +15 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- YearDatatypeValidator.cpp 1 Oct 2003 16:32:41 -0000       1.7
  +++ YearDatatypeValidator.cpp 2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -156,6 +159,17 @@
   void YearDatatypeValidator::parse(XMLDateTime* const pDate)
   {
       pDate->parseYear();
  +}
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(YearDatatypeValidator)
  +
  +void YearDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -1      
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- YearDatatypeValidator.hpp 14 Aug 2003 03:00:11 -0000      1.5
  +++ YearDatatypeValidator.hpp 2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -121,6 +124,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(YearDatatypeValidator)
   
   protected:
   
  
  
  
  1.8       +16 -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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- YearMonthDatatypeValidator.cpp    1 Oct 2003 16:32:41 -0000       1.7
  +++ YearMonthDatatypeValidator.cpp    2 Oct 2003 19:21:06 -0000       1.8
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.8  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.7  2003/10/01 16:32:41  neilg
    * improve handling of out of memory conditions, bug #23415.  Thanks to David 
Cargill.
    *
  @@ -156,6 +159,18 @@
   void YearMonthDatatypeValidator::parse(XMLDateTime* const pDate)
   {
       pDate->parseYearMonth();
  +}
  +
  +
  +/***
  + * Support for Serialization/De-serialization
  + ***/
  +
  +IMPL_XSERIALIZABLE_TOCREATE(YearMonthDatatypeValidator)
  +
  +void YearMonthDatatypeValidator::serialize(XSerializeEngine& serEng)
  +{
  +    DateTimeValidator::serialize(serEng);
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.6       +9 -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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- YearMonthDatatypeValidator.hpp    14 Aug 2003 03:00:11 -0000      1.5
  +++ YearMonthDatatypeValidator.hpp    2 Oct 2003 19:21:06 -0000       1.6
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.6  2003/10/02 19:21:06  peiyongz
  + * Implementation of Serialization/Deserialization
  + *
    * Revision 1.5  2003/08/14 03:00:11  knoaman
    * Code refactoring to improve performance of validation.
    *
  @@ -121,6 +124,11 @@
           , const int finalSet
           , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
       );
  +
  +    /***
  +     * Support for Serialization/De-serialization
  +     ***/
  +    DECL_XSERIALIZABLE(YearMonthDatatypeValidator)
   
   protected:
   
  
  
  

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

Reply via email to