Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Duplicate
-
2.7.0
-
None
-
None
-
windows
Description
When schema A import schema B with keyref, the keyref of schema A are not processing correctly. The problem is in TraverseSchema::processElemDeclIC at line fIC_ElementsNS->containsKey(fTargetNSURIString). In this case, fIC_ElementsNS is allocated (by imported schema process) but doesn't contain fTargetNSURIString. The nodes are added in B namespace.
I try this code with success :
if (fIC_ElementsNS->containsKey(fTargetNSURIString))
{ fIC_Elements = fIC_ElementsNS->get(fTargetNSURIString); fIC_NamespaceDepth = fIC_NamespaceDepthNS->get(fTargetNSURIString); } else
fIC_Elements = NULL;