You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by am...@apache.org on 2005/07/25 23:35:26 UTC

svn commit: r225188 - /xerces/c/branches/xerces-2.7/src/xercesc/validators/schema/TraverseSchema.cpp

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: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org