cargilld 2004/09/29 16:25:42 Modified: c/src/xercesc/internal XSAXMLScanner.cpp c/src/xercesc/validators/schema TraverseSchema.cpp Log: Validate Annotation Changes. Revision Changes Path 1.2 +9 -2 xml-xerces/c/src/xercesc/internal/XSAXMLScanner.cpp Index: XSAXMLScanner.cpp =================================================================== RCS file: /home/cvs/xml-xerces/c/src/xercesc/internal/XSAXMLScanner.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- XSAXMLScanner.cpp 27 Sep 2004 20:58:14 -0000 1.1 +++ XSAXMLScanner.cpp 29 Sep 2004 23:25:42 -0000 1.2 @@ -669,7 +669,14 @@ void XSAXMLScanner::switchGrammar( const XMLCh* const uriStr , bool laxValidate) { - Grammar* tempGrammar = fGrammarResolver->getGrammar(uriStr); + Grammar* tempGrammar = 0; + + if (XMLString::equals(uriStr, SchemaSymbols::fgURI_SCHEMAFORSCHEMA)) { + tempGrammar = fSchemaGrammar; + } + else { + tempGrammar = fGrammarResolver->getGrammar(uriStr); + } if (tempGrammar && tempGrammar->getGrammarType() == Grammar::SchemaGrammarType) { 1.119 +18 -8 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.118 retrieving revision 1.119 diff -u -r1.118 -r1.119 --- TraverseSchema.cpp 28 Sep 2004 02:14:14 -0000 1.118 +++ TraverseSchema.cpp 29 Sep 2004 23:25:42 -0000 1.119 @@ -8899,14 +8899,24 @@ complexType->setAnonymous(); complexType->setContentType(SchemaElementDecl::Mixed_Complex); annotElemDecl->setComplexTypeInfo(complexType); - - // Revisit: is this okay for a key? + fBuffer.set(SchemaSymbols::fgURI_SCHEMAFORSCHEMA); fBuffer.append(chComma); fBuffer.append(chLatin_C); - fBuffer.append(chDigit_0); - grammar->getComplexTypeRegistry()->put((void*) fBuffer.getRawBuffer(), complexType); - + fBuffer.append(chDigit_0); + const XMLCh* fullName = fStringPool->getValueForId(fStringPool->addOrFind(fBuffer.getRawBuffer())); + grammar->getComplexTypeRegistry()->put((void*) fullName, complexType); + complexType->setTypeName(fullName); + complexType->setAttWildCard + ( + new (memMgr) SchemaAttDef + ( + XMLUni::fgZeroLenString, XMLUni::fgZeroLenString, + fEmptyNamespaceURI, XMLAttDef::Any_Any, + XMLAttDef::ProcessContents_Lax, memMgr + ) + ); + SchemaElementDecl* appInfoElemDecl = new (memMgr) SchemaElementDecl ( XMLUni::fgZeroLenString , SchemaSymbols::fgELT_APPINFO @@ -8932,7 +8942,7 @@ XMLUni::fgZeroLenString , SchemaSymbols::fgELT_DOCUMENTATION , fURIStringPool->addOrFind(SchemaSymbols::fgURI_SCHEMAFORSCHEMA) , SchemaElementDecl::Any, Grammar::TOP_LEVEL_SCOPE , memMgr - ); + ); docElemDecl->setCreateReason(XMLElementDecl::Declared); docElemDecl->setAttWildCard @@ -8985,7 +8995,7 @@ XSAnnotation& xsAnnot = xsAnnotationEnum.nextElement(); memBufIS->resetMemBufInputSource((const XMLByte*)xsAnnot.getAnnotationString() , XMLString::stringLen(xsAnnot.getAnnotationString())*sizeof(XMLCh)); - //scanner->scanDocument(*memBufIS); + scanner->scanDocument(*memBufIS); } delete scanner;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]