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 2008/10/30 11:53:49 UTC

svn commit: r709137 - /xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp

Author: amassari
Date: Thu Oct 30 03:53:48 2008
New Revision: 709137

URL: http://svn.apache.org/viewvc?rev=709137&view=rev
Log:
When a schema had a xsd:notation with an annotation inside, a XSAnnotation object was leaked

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=709137&r1=709136&r2=709137&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp Thu Oct 30 03:53:48 2008
@@ -2942,13 +2942,13 @@
         return 0;
     }
 
-    if (checkContent(elem, XUtil::getFirstChildElement(elem), true) != 0)
-        reportSchemaError(elem, XMLUni::fgXMLErrDomain, XMLErrs::OnlyAnnotationExpected);
-
     if (fNotationRegistry->containsKey(name, fTargetNSURI)) {
         return name;
     }
 
+    if (checkContent(elem, XUtil::getFirstChildElement(elem), true) != 0)
+        reportSchemaError(elem, XMLUni::fgXMLErrDomain, XMLErrs::OnlyAnnotationExpected);
+
     const XMLCh* publicId = getElementAttValue(elem, SchemaSymbols::fgATT_PUBLIC);
     const XMLCh* systemId = getElementAttValue(elem, SchemaSymbols::fgATT_SYSTEM);
 
@@ -2967,8 +2967,6 @@
     decl->setNameSpaceId(fTargetNSURI);
     fSchemaGrammar->putNotationDecl(decl);
 
-    //we don't really care if something inside <notation> is wrong..
-    checkContent(elem, XUtil::getFirstChildElement(elem), true);
     if (fAnnotation)
         fSchemaGrammar->putAnnotation(decl, fAnnotation);
     else if (fScanner->getGenerateSyntheticAnnotations() && fNonXSAttList->size())



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org