Author: amassari
Date: Mon Jul 25 14:35:21 2005
New Revision: 225188

URL: http://svn.apache.org/viewcvs?rev=225188&view=rev
Log:
After looking for the DOM element defining the required type we should use the 
registry to perform the lookup instead of assuming the one we just parsed is 
the right one (jira# 990)

Modified:
    
xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/TraverseSchema.cpp

Modified: 
xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/TraverseSchema.cpp
URL: 
http://svn.apache.org/viewcvs/xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/TraverseSchema.cpp?rev=225188&r1=225187&r2=225188&view=diff
==============================================================================
--- 
xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/TraverseSchema.cpp 
(original)
+++ 
xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/TraverseSchema.cpp 
Mon Jul 25 14:35:21 2005
@@ -5204,7 +5204,8 @@
                 SchemaSymbols::fgELT_SIMPLETYPE, localPart, &fSchemaInfo);
 
             if (typeElem) {
-                dv = traverseSimpleTypeDecl(typeElem);
+                traverseSimpleTypeDecl(typeElem);
+                dv = getDatatypeValidator(typeURI, localPart);
             }
         }
 
@@ -5342,9 +5343,11 @@
                 SchemaSymbols::fgELT_COMPLEXTYPE, localPart, &fSchemaInfo);
 
             if (typeNode) {
-
+                // fBuffer is reused by traverseComplexTypeDecl, so we have to 
store its current value
+                XMLBuffer buffCopy(fBuffer.getLen()+1, fMemoryManager);
+                buffCopy.set(fBuffer.getRawBuffer());
                 int typeIndex = traverseComplexTypeDecl(typeNode);
-                typeInfo =  
fComplexTypeRegistry->get(fStringPool->getValueForId(typeIndex));
+                typeInfo =  fComplexTypeRegistry->get(buffCopy.getRawBuffer());
             }
         }
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to