knoaman 2003/01/14 11:12:21 Modified: c/src/xercesc/validators/schema TraverseSchema.cpp Log: Make sure that the root element of XML Schema is <xsd:schema>. Revision Changes Path 1.54 +6 -11 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.53 retrieving revision 1.54 diff -u -r1.53 -r1.54 --- TraverseSchema.cpp 14 Jan 2003 18:43:58 -0000 1.53 +++ TraverseSchema.cpp 14 Jan 2003 19:12:20 -0000 1.54 @@ -393,11 +393,6 @@ fSchemaInfo = currInfo; fSchemaInfoList->put((void*) fSchemaInfo->getCurrentSchemaURL(), fSchemaInfo->getTargetNSURI(), fSchemaInfo); fSchemaInfo->addSchemaInfo(fSchemaInfo, SchemaInfo::INCLUDE); - - if (!XMLString::equals(schemaRoot->getLocalName(), SchemaSymbols::fgELT_SCHEMA)) { - reportSchemaError(schemaRoot, XMLUni::fgXMLErrDomain, XMLErrs::InvalidXMLSchemaRoot); - } - traverseSchemaHeader(schemaRoot); // preprocess chidren @@ -407,6 +402,11 @@ void TraverseSchema::traverseSchemaHeader(const DOMElement* const schemaRoot) { + // Make sure that the root element is <xsd:schema> + if (!XMLString::equals(schemaRoot->getLocalName(), SchemaSymbols::fgELT_SCHEMA)) { + reportSchemaError(schemaRoot, XMLUni::fgXMLErrDomain, XMLErrs::InvalidXMLSchemaRoot); + } + // ----------------------------------------------------------------------- // Check Attributes // ----------------------------------------------------------------------- @@ -578,11 +578,6 @@ fSchemaInfo->getTargetNSURI(), fSchemaInfo); fPreprocessedNodes->put((void*) elem, fSchemaInfo); saveInfo->addSchemaInfo(fSchemaInfo, SchemaInfo::INCLUDE); - - if (!XMLString::equals(root->getLocalName(), SchemaSymbols::fgELT_SCHEMA)) { - reportSchemaError(root, XMLUni::fgXMLErrDomain, XMLErrs::InvalidXMLSchemaRoot); - } - traverseSchemaHeader(root); preprocessChildren(root); fSchemaInfo = saveInfo;
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]