You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by bo...@apache.org on 2009/11/13 17:33:05 UTC
svn commit: r835905 -
/xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
Author: borisk
Date: Fri Nov 13 16:33:05 2009
New Revision: 835905
URL: http://svn.apache.org/viewvc?rev=835905&view=rev
Log:
Call getDatatypeValidator before checking whether the schema has been imported.
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=835905&r1=835904&r2=835905&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp Fri Nov 13 16:33:05 2009
@@ -6486,26 +6486,22 @@
baseComplexTypeInfo = getTypeInfoFromNS(elem, uriStr, localPart);
if (!baseComplexTypeInfo) {
+
+ baseDTValidator = getDatatypeValidator(uriStr, localPart);
+
+ if (!baseDTValidator)
+ {
SchemaInfo* impInfo = fSchemaInfo->getImportInfo(fURIStringPool->addOrFind(uriStr));
- if (!impInfo)
+ if (!impInfo || impInfo->getProcessed())
{
reportSchemaError(elem, XMLUni::fgXMLErrDomain, XMLErrs::BaseTypeNotFound, baseName);
throw TraverseSchema::InvalidComplexTypeInfo;
}
- if (impInfo->getProcessed())
- {
- // the schema has already been loaded, so check if it's a simple type before complaining
- baseDTValidator = getDatatypeValidator(uriStr, localPart);
- if(!baseDTValidator)
- {
- reportSchemaError(elem, XMLUni::fgXMLErrDomain, XMLErrs::BaseTypeNotFound, baseName);
- throw TraverseSchema::InvalidComplexTypeInfo;
- }
- }
infoType = SchemaInfo::IMPORT;
restoreSchemaInfo(impInfo, infoType);
+ }
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org