Author: amassari
Date: Mon Jul 25 14:34:59 2005
New Revision: 225187
URL: http://svn.apache.org/viewcvs?rev=225187&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/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
Modified: xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp
URL:
http://svn.apache.org/viewcvs/xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp?rev=225187&r1=225186&r2=225187&view=diff
==============================================================================
--- xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp (original)
+++ xerces/c/trunk/src/xercesc/validators/schema/TraverseSchema.cpp Mon Jul 25
14:34:59 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]