From 34bdb8980e6b640f1c6886116d51fb5eea90ec7a Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <borisk@apache.org>
Date: Mon, 23 Nov 2009 12:42:32 +0000
Subject: [PATCH] Save the scope count to the grammar object in case we will be
 adding to this schema (multi-import case).

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

diff --git a/src/xercesc/validators/schema/TraverseSchema.cpp b/src/xercesc/validators/schema/TraverseSchema.cpp
index 66007473c..e39631f40 100644
--- a/src/xercesc/validators/schema/TraverseSchema.cpp
+++ b/src/xercesc/validators/schema/TraverseSchema.cpp
@@ -234,6 +234,12 @@ TraverseSchema::TraverseSchema( DOMElement* const    schemaRoot
 
             preprocessSchema(schemaRoot, schemaURL, multipleImport);
             doTraverseSchema(schemaRoot);
+
+            // Store the scope count in case we need to add more to this
+            // grammar (multi-import case). schemaGrammar and fSchemaGrammar
+            // should be the same here.
+            //
+            fSchemaGrammar->setScopeCount (fScopeCount);
         }
 
     }
@@ -291,7 +297,6 @@ void TraverseSchema::doTraverseSchema(const DOMElement* const schemaRoot) {
 void TraverseSchema::preprocessSchema(DOMElement* const schemaRoot,
                                       const XMLCh* const schemaURL,
                                       bool  multipleImport) {
-
     if (!multipleImport) {
         // Make sure namespace binding is defaulted
         const XMLCh* rootPrefix = schemaRoot->getPrefix();
-- 
GitLab