You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by am...@apache.org on 2009/08/10 16:38:00 UTC
svn commit: r802810 -
/xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
Author: amassari
Date: Mon Aug 10 14:38:00 2009
New Revision: 802810
URL: http://svn.apache.org/viewvc?rev=802810&view=rev
Log:
If a derived attribute is prohibited, don't check type substitution and fixed facet (XERCESC-961)
Modified:
xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
Modified: xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
URL: http://svn.apache.org/viewvc/xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp?rev=802810&r1=802809&r2=802810&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp Mon Aug 10 14:38:00 2009
@@ -7980,6 +7980,11 @@
reportSchemaError(elem, XMLUni::fgXMLErrDomain, XMLErrs::BadAttDerivation_2, childLocalPart);
}
+ // if the attribute in the derived type is prohibited, and it didn't try to override a required attribute,
+ // it's ok and shouldn't be tested for data type or fixed value
+ if (childAttDefType == XMLAttDef::Prohibited)
+ continue;
+
// Constraint 2.1.2
DatatypeValidator* baseDV = baseAttDef->getDatatypeValidator();
DatatypeValidator* childDV = childAttDef->getDatatypeValidator();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org