From f9550a2dadd68ecaffc4994172a3725c4821b996 Mon Sep 17 00:00:00 2001 From: Khaled Noaman <knoaman@apache.org> Date: Tue, 14 Jan 2003 19:12:20 +0000 Subject: [PATCH] Make sure that the root element of XML Schema is <xsd:schema>. git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174625 13f79535-47bb-0310-9956-ffa450edef68 --- src/xercesc/validators/schema/TraverseSchema.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/xercesc/validators/schema/TraverseSchema.cpp b/src/xercesc/validators/schema/TraverseSchema.cpp index a3bb35862..7b643347e 100644 --- a/src/xercesc/validators/schema/TraverseSchema.cpp +++ b/src/xercesc/validators/schema/TraverseSchema.cpp @@ -393,11 +393,6 @@ void TraverseSchema::preprocessSchema(DOMElement* const schemaRoot, 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::preprocessSchema(DOMElement* const schemaRoot, 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 @@ void TraverseSchema::preprocessInclude(const DOMElement* const elem) { 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; -- GitLab