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]