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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]