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/12 16:00:33 UTC
svn commit: r803516 -
/xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
Author: amassari
Date: Wed Aug 12 14:00:33 2009
New Revision: 803516
URL: http://svn.apache.org/viewvc?rev=803516&view=rev
Log:
When parsing a "final" attribute, an empty value means an empty set, not "use finalDefault" (XERCESC-1716)
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=803516&r1=803515&r2=803516&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp Wed Aug 12 14:00:33 2009
@@ -5245,9 +5245,9 @@
const XMLCh* finalVal = (isRoot) ? getElementAttValue(elem, SchemaSymbols::fgATT_FINALDEFAULT)
: getElementAttValue(elem, SchemaSymbols::fgATT_FINAL);
- if (!finalVal || !*finalVal) {
+ // finalVal == 0 means 'final attribute is missing'; *finalVal == 0 means 'final="" found'
+ if (finalVal == 0)
return fSchemaInfo->getFinalDefault();
- }
int finalSet = 0;
@@ -5296,7 +5296,7 @@
}
} //end while
- return (finalSet == 0 ? fSchemaInfo->getFinalDefault() : finalSet);
+ return finalSet;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org