From 9d5c7f91914e272c9533d8c778a792592aebd8a3 Mon Sep 17 00:00:00 2001
From: Alberto Massari <amassari@apache.org>
Date: Tue, 21 Oct 2003 10:46:23 +0000
Subject: [PATCH] Inside a schema, the properties "fixed" and "default" for a
 reference to an attribute were ignored unless the "required" property were
 also present [bug 11767]

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

diff --git a/src/xercesc/validators/schema/TraverseSchema.cpp b/src/xercesc/validators/schema/TraverseSchema.cpp
index 0806f3efd..3da09f711 100644
--- a/src/xercesc/validators/schema/TraverseSchema.cpp
+++ b/src/xercesc/validators/schema/TraverseSchema.cpp
@@ -5560,6 +5560,16 @@ void TraverseSchema::processAttributeDeclRef(const DOMElement* const elem,
                     attDef->setDefaultType(XMLAttDef::Required);
                 }
             }
+			else
+			{
+				if (fixedVal) {
+					attDef->setDefaultType(XMLAttDef::Fixed);
+                    valueConstraint = fixedVal;
+				}
+				else if (defaultVal) {
+					attDef->setDefaultType(XMLAttDef::Default);
+				}
+			}
 
             if (valueConstraint) {
 
-- 
GitLab