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

Reply via email to