From f87770bb506a3a0e3ce6eb87071931911925bfae Mon Sep 17 00:00:00 2001
From: Khaled Noaman <knoaman@apache.org>
Date: Tue, 14 Jan 2003 18:43:58 +0000
Subject: [PATCH] Make sure that the root element of an include XML Schema is
 <xsd:schema>.

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@174624 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/validators/schema/TraverseSchema.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/xercesc/validators/schema/TraverseSchema.cpp b/src/xercesc/validators/schema/TraverseSchema.cpp
index 299682ecb..a3bb35862 100644
--- a/src/xercesc/validators/schema/TraverseSchema.cpp
+++ b/src/xercesc/validators/schema/TraverseSchema.cpp
@@ -578,6 +578,11 @@ 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