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]