From 46b4e4b39a0dc7ff36df7f06e918e2e00e703874 Mon Sep 17 00:00:00 2001
From: Khaled Noaman <knoaman@apache.org>
Date: Fri, 28 Nov 2003 18:33:15 +0000
Subject: [PATCH] PSVI update. Thanks to David Cargill.

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@175494 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/internal/IGXMLScanner2.cpp | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/xercesc/internal/IGXMLScanner2.cpp b/src/xercesc/internal/IGXMLScanner2.cpp
index 3d39d594d..9b1a22ade 100644
--- a/src/xercesc/internal/IGXMLScanner2.cpp
+++ b/src/xercesc/internal/IGXMLScanner2.cpp
@@ -542,10 +542,14 @@ IGXMLScanner::buildAttList(const  RefVectorOf<KVStringPair>&  providedAttrs
                             , false
                             , elemDecl
                         );
-                        attrValidator = ((SchemaValidator*)fValidator)->getMostRecentAttrValidator();
-                        if(getPSVIHandler() && fGrammarType == Grammar::SchemaGrammarType
+
+                        if(fGrammarType == Grammar::SchemaGrammarType)
+                        {
+                            attrValidator = ((SchemaValidator*)fValidator)->getMostRecentAttrValidator();
+                            if (getPSVIHandler()
                                 && ((SchemaValidator *)fValidator)->getErrorOccurred())
-                            attrValid = PSVIItem::VALIDITY_INVALID;
+                                attrValid = PSVIItem::VALIDITY_INVALID;
+                        }
                     }
                     else if(fGrammarType == Grammar::SchemaGrammarType)
                         attrValidator = DatatypeValidatorFactory::getBuiltInRegistry()->get(SchemaSymbols::fgDT_ANYSIMPLETYPE);
-- 
GitLab