peiyongz    2002/11/28 12:39:27

  Modified:    c/src/xercesc/util XMLDateTime.cpp
  Log:
  Schema Errata: E2-23 seconds part shall have at least one digit after the dot
                            if it appears.
  
  Revision  Changes    Path
  1.4       +21 -1     xml-xerces/c/src/xercesc/util/XMLDateTime.cpp
  
  Index: XMLDateTime.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/util/XMLDateTime.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XMLDateTime.cpp   6 Nov 2002 22:22:21 -0000       1.3
  +++ XMLDateTime.cpp   28 Nov 2002 20:39:27 -0000      1.4
  @@ -57,6 +57,10 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.4  2002/11/28 20:39:27  peiyongz
  + * Schema Errata: E2-23 seconds part shall have at least one digit after the dot
  + *                           if it appears.
  + *
    * Revision 1.3  2002/11/06 22:22:21  peiyongz
    * Schema-Errata: E2-12: gMonth
    *
  @@ -859,8 +863,25 @@
           {
               //scan seconds
               int mlsec = indexOf (fStart, end, MILISECOND_SEPARATOR);
  +
  +            /***
  +             * Schema Errata: E2-23
  +             * at least one digit must follow the decimal point if it appears. 
  +             * That is, the value of the seconds component must conform 
  +             * to the following pattern: [0-9]+(.[0-9]+)? 
  +             */
               if ( mlsec != NOT_FOUND )
               {
  +                /***
  +                 * make usure there is something after the '.' and before the end.
  +                 */
  +                if ( mlsec+1 == end )
  +                {
  +                    ThrowXML1(SchemaDateTimeException
  +                            , XMLExcepts::DateTime_dur_inv_seconds
  +                            ,fBuffer);
  +                }
  +
                   fValue[Second]     = negate * parseInt(fStart, mlsec);
                   fValue[MiliSecond] = negate * parseInt(mlsec+1, end);
               }
  
  
  

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

Reply via email to