knoaman 2003/03/11 05:02:31 Modified: c/src/xercesc/validators/schema TraverseSchema.cpp Log: Fix for circular substitution group check. Revision Changes Path 1.66 +6 -2 xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp Index: TraverseSchema.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp,v retrieving revision 1.65 retrieving revision 1.66 diff -u -r1.65 -r1.66 --- TraverseSchema.cpp 11 Mar 2003 00:36:58 -0000 1.65 +++ TraverseSchema.cpp 11 Mar 2003 13:02:31 -0000 1.66 @@ -2386,7 +2386,7 @@ , noErrorFound ); - if (subsElemDecl && (subsElemDecl != elemDecl)) { + if (subsElemDecl) { if (isSubstitutionGroupCircular(elemDecl, subsElemDecl)) { reportSchemaError @@ -7819,6 +7819,10 @@ bool TraverseSchema::isSubstitutionGroupCircular(SchemaElementDecl* const elemDecl, SchemaElementDecl* const subsElemDecl) { + + if (elemDecl == subsElemDecl) + return true; + SchemaElementDecl* tmpElemDecl = subsElemDecl->getSubstitutionGroupElem(); while (tmpElemDecl)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]