From 84bb0d512b071139ab3e59949e70c7037c87ee37 Mon Sep 17 00:00:00 2001
From: David Abram Cargill <cargilld@apache.org>
Date: Wed, 28 Dec 2005 16:47:44 +0000
Subject: [PATCH] Schema fixes for union of union.

git-svn-id: https://svn.apache.org/repos/asf/xerces/c/trunk@359559 13f79535-47bb-0310-9956-ffa450edef68
---
 src/xercesc/validators/datatype/UnionDatatypeValidator.hpp | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp b/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp
index e82a8128c..84433c4ea 100644
--- a/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp
+++ b/src/xercesc/validators/datatype/UnionDatatypeValidator.hpp
@@ -298,8 +298,8 @@ inline bool UnionDatatypeValidator::isSubstitutableBy(const DatatypeValidator* c
         unsigned int memberSize = fMemberTypeValidators->size();
 
         for (unsigned int i=0; i < memberSize; i++) {
-
-            if (fMemberTypeValidators->elementAt(i)->getType() == DatatypeValidator::Union)
+            if ((fMemberTypeValidators->elementAt(i)->getType() == DatatypeValidator::Union) &&
+                (fMemberTypeValidators->elementAt(i) == toCheck))
                 return false;
             if (fMemberTypeValidators->elementAt(i)->isSubstitutableBy(toCheck)) {
                 return true;
-- 
GitLab