You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ca...@apache.org on 2005/10/12 15:19:12 UTC
svn commit: r314889 -
/xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp
Author: cargilld
Date: Wed Oct 12 06:19:11 2005
New Revision: 314889
URL: http://svn.apache.org/viewcvs?rev=314889&view=rev
Log:
QName fix. Need to verify that the prefix is defined.
Modified:
xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp
Modified: xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp
URL: http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp?rev=314889&r1=314888&r2=314889&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/datatype/QNameDatatypeValidator.cpp Wed Oct 12 06:19:11 2005
@@ -24,6 +24,7 @@
#include <xercesc/validators/datatype/QNameDatatypeValidator.hpp>
#include <xercesc/validators/datatype/InvalidDatatypeFacetException.hpp>
#include <xercesc/validators/datatype/InvalidDatatypeValueException.hpp>
+#include <xercesc/internal/ValidationContextImpl.hpp>
XERCES_CPP_NAMESPACE_BEGIN
@@ -123,6 +124,23 @@
return;
checkValueSpace(content, manager);
+
+ if (context) {
+ int colonPos = XMLString::indexOf(content, chColon);
+ if (colonPos > 0) {
+ XMLCh* prefix = XMLString::replicate(content, manager);
+ ArrayJanitor<XMLCh> jan(prefix, manager);
+ normalizeContent(prefix, manager);
+ prefix[colonPos] = chNull;
+
+ if (context->isPrefixUnknown(prefix)) {
+ ThrowXMLwithMemMgr1(InvalidDatatypeValueException
+ , XMLExcepts::VALUE_QName_Invalid
+ , content
+ , manager);
+ }
+ }
+ }
if ((thisFacetsDefined & DatatypeValidator::FACET_ENUMERATION) != 0 &&
(getEnumeration() != 0))
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org