You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ca...@apache.org on 2004/11/13 19:52:38 UTC
cvs commit: xml-xerces/c/src/xercesc/validators/schema TraverseSchema.cpp
cargilld 2004/11/13 10:52:38
Modified: c/src/xercesc/validators/schema TraverseSchema.cpp
Log:
Fix for validate annotations.
Revision Changes Path
1.124 +15 -4 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.123
retrieving revision 1.124
diff -u -r1.123 -r1.124
--- TraverseSchema.cpp 27 Oct 2004 15:24:22 -0000 1.123
+++ TraverseSchema.cpp 13 Nov 2004 18:52:38 -0000 1.124
@@ -8880,6 +8880,7 @@
MemoryManager *memMgr = fMemoryManager;
RefHashTableOfEnumerator<XSAnnotation> xsAnnotationEnum = RefHashTableOfEnumerator<XSAnnotation> (fSchemaGrammar->getAnnotations(), false, memMgr);
XSAnnotation& xsAnnot = xsAnnotationEnum.nextElement();
+ XSAnnotation* nextAnnot;
// create schema grammar
SchemaGrammar *grammar = new (memMgr) SchemaGrammar(memMgr);
@@ -9001,11 +9002,21 @@
scanner->scanDocument(*memBufIS);
- while (xsAnnotationEnum.hasMoreElements())
+ nextAnnot = xsAnnot.getNext();
+
+ while (nextAnnot || xsAnnotationEnum.hasMoreElements())
{
- XSAnnotation& xsAnnot = xsAnnotationEnum.nextElement();
- memBufIS->resetMemBufInputSource((const XMLByte*)xsAnnot.getAnnotationString()
+ if (nextAnnot) {
+ memBufIS->resetMemBufInputSource((const XMLByte*)nextAnnot->getAnnotationString()
+ , XMLString::stringLen(nextAnnot->getAnnotationString())*sizeof(XMLCh));
+ nextAnnot = nextAnnot->getNext();
+ }
+ else {
+ XSAnnotation& xsAnnot = xsAnnotationEnum.nextElement();
+ memBufIS->resetMemBufInputSource((const XMLByte*)xsAnnot.getAnnotationString()
, XMLString::stringLen(xsAnnot.getAnnotationString())*sizeof(XMLCh));
+ nextAnnot = xsAnnot.getNext();
+ }
scanner->scanDocument(*memBufIS);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org