>  > The implicit assumption here is that for a given piece of 
> processing
>  > (a single request), only one schema version will be 
> active. (We make
>  > this same assumption about SOAP versions)
> 
> As I read the code, it appears that the check for null is made against
> all compiled in schema versions, not merely the active one?  
> For future
> growth and scalability, I like the idea of having only one 
> single active
> version.

The check for null when deserializing is made against all versions, it's true.  This 
is because we might not know what the active version is until we get to a null/nil 
attribute.  This could be altered to:

1) Check only the active version if there is one
2) If not, and we find a null/nil, use that to set the active version

We should also be setting the active version the first time we see a use of xsd: types 
or xsi: attributes in a given message.  So I guess the schemaVersion in MessageContext 
could default to null to indicate "not set" until someone needs it (when writing a 
message, for instance) at which point it'll default to 2001....

--Glen

Reply via email to