I have added a test case in the form of an Eclipse project (adjust classpath
settings).
Furthermore I have done some debugging and found the following piece of code:
XMLClassDescriptorResolverImpl (line 311):
if (possibleMatches.size() == 1) {
// we have exactly one possible match - that's our result
// (if it has the right namespace, it's an exact match, if not its
// the only possible match)
return (XMLClassDescriptor) possibleMatches.get(0);
}
This means that when I send in a 'raw' xml Fragment in an 'any' element (xsd)
Castor will still find a Descriptor with the same name and assume it should
unmarshall to this element. Well actually it does this once, a second time it
will have 2 descriptors with the same name cached and then it does check for
namespace!?
So basically I cannot send in an XML fragment which is meant to be an AnyNode
when Castor has a Descriptor for an element with the same name (but different
namespace).
This presents me with a difficult problem to solve in our production code.
How can I tell Castor to leave my 'any' element alone?
Greetings,
Huub