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]