peiyongz    2003/01/27 11:24:17

  Modified:    c/src/xercesc/validators/datatype
                        Base64BinaryDatatypeValidator.hpp
                        Base64BinaryDatatypeValidator.cpp
                        AbstractStringValidator.hpp
                        AbstractStringValidator.cpp
  Log:
  normalize Base64 data before checking against enumeration.
  
  Revision  Changes    Path
  1.5       +6 -1      
xml-xerces/c/src/xercesc/validators/datatype/Base64BinaryDatatypeValidator.hpp
  
  Index: Base64BinaryDatatypeValidator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/Base64BinaryDatatypeValidator.hpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Base64BinaryDatatypeValidator.hpp 24 Jan 2003 23:18:34 -0000      1.4
  +++ Base64BinaryDatatypeValidator.hpp 27 Jan 2003 19:24:17 -0000      1.5
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.5  2003/01/27 19:24:17  peiyongz
  + * normalize Base64 data before checking against enumeration.
  + *
    * Revision 1.4  2003/01/24 23:18:34  peiyongz
    * normalizeEnumeration() added to remove optional ws in Base64 data.
    *
  @@ -129,6 +132,8 @@
       virtual int  getLength(const XMLCh* const content) const;
   
       virtual void normalizeEnumeration();
  +
  +    virtual void normalizeContent(XMLCh* const) const;
   
   private:
   
  
  
  
  1.5       +8 -0      
xml-xerces/c/src/xercesc/validators/datatype/Base64BinaryDatatypeValidator.cpp
  
  Index: Base64BinaryDatatypeValidator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/Base64BinaryDatatypeValidator.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Base64BinaryDatatypeValidator.cpp 24 Jan 2003 23:18:34 -0000      1.4
  +++ Base64BinaryDatatypeValidator.cpp 27 Jan 2003 19:24:17 -0000      1.5
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.5  2003/01/27 19:24:17  peiyongz
  + * normalize Base64 data before checking against enumeration.
  + *
    * Revision 1.4  2003/01/24 23:18:34  peiyongz
    * normalizeEnumeration() added to remove optional ws in Base64 data.
    *
  @@ -189,6 +192,11 @@
           XMLString::removeWS(getEnumeration()->elementAt(i));
       }
   
  +}
  +
  +void Base64BinaryDatatypeValidator::normalizeContent(XMLCh* const content) const
  +{
  +    XMLString::removeWS(content);     
   }
   
   XERCES_CPP_NAMESPACE_END
  
  
  
  1.7       +6 -1      
xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.hpp
  
  Index: AbstractStringValidator.hpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.hpp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AbstractStringValidator.hpp       24 Jan 2003 23:18:34 -0000      1.6
  +++ AbstractStringValidator.hpp       27 Jan 2003 19:24:17 -0000      1.7
  @@ -57,6 +57,9 @@
   /*
    * $Id$
    * $Log$
  + * Revision 1.7  2003/01/27 19:24:17  peiyongz
  + * normalize Base64 data before checking against enumeration.
  + *
    * Revision 1.6  2003/01/24 23:18:34  peiyongz
    * normalizeEnumeration() added to remove optional ws in Base64 data.
    *
  @@ -203,6 +206,8 @@
        **  Base64BinaryDatatypeValidator to overwrite
        */
       virtual void normalizeEnumeration();
  +
  +    virtual void normalizeContent(XMLCh* const) const;
   
   public:
   // -----------------------------------------------------------------------
  
  
  
  1.9       +14 -1     
xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.cpp
  
  Index: AbstractStringValidator.cpp
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/c/src/xercesc/validators/datatype/AbstractStringValidator.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- AbstractStringValidator.cpp       24 Jan 2003 23:18:34 -0000      1.8
  +++ AbstractStringValidator.cpp       27 Jan 2003 19:24:17 -0000      1.9
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.9  2003/01/27 19:24:17  peiyongz
  + * normalize Base64 data before checking against enumeration.
  + *
    * Revision 1.8  2003/01/24 23:18:34  peiyongz
    * normalizeEnumeration() added to remove optional ws in Base64 data.
    *
  @@ -663,11 +666,15 @@
       if ((thisFacetsDefined & DatatypeValidator::FACET_ENUMERATION) != 0 &&
           (getEnumeration() != 0))
       {
  +        XMLCh* normContent = XMLString::replicate(content);
  +        ArrayJanitor<XMLCh>  jan(normContent);
  +        normalizeContent(normContent);
  +
           int i=0;
           int enumLength = getEnumeration()->size();
           for ( ; i < enumLength; i++)
           {
  -            if (XMLString::equals(content, getEnumeration()->elementAt(i)))
  +            if (XMLString::equals(normContent, getEnumeration()->elementAt(i)))
                   break;
           }
   
  @@ -685,6 +692,12 @@
   }
   
   void AbstractStringValidator::normalizeEnumeration()
  +{
  +    // default implementation: do nothing
  +    return;
  +}
  +
  +void AbstractStringValidator::normalizeContent(XMLCh* const) const
   {
       // default implementation: do nothing
       return;
  
  
  

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

Reply via email to