Greg- Two things I see in the code that might cause you trouble. First (the more silly one), you do have your xsi namespace declared as http://www.w3.org/2001/XMLSchema-instance yes? Okay, then on to the more troublesome one... It looks like (of the primitive classes) nillable might only be supported for the String class currently... I would try changing your schema (or creating a temporary one) to use a type that maps to a Java String object, and then see if the XML unmarshals correctly. If this is the case, it might be a trivial fix, it might be something complicated, but at least we will have pinned down the issue.
Thanks, Stephen On 4/10/06, Greg Garson <[EMAIL PROTECTED]> wrote: > Stephen, > > Thanks for the response. SourceGenerator is creating the attributes as > the object type i.e. Long rather than long. > > In my castor_builder.properties file I'm setting the > org.exolab.castor.builder.primitivetowrapper=true. If this wasn't set > the attributes would be generated as primitives. > > Given that the attributes are the object type and the xsd specifies the > nillable attribute I would assume castor would leave things as null > unless it is passed a specific value. > > Is this something I need to create a JIRA for? Or am I just missing > some fundamental setting? > > Thanks, > > Greg > > > > -----Original Message----- > From: Stephen Bash [mailto:[EMAIL PROTECTED] > Sent: Monday, April 10, 2006 1:24 PM > To: [email protected] > Subject: Re: [castor-user] XML - Nillable numeric elements defaulting to > 0 when passed empty element - Created with Source Gen > > Greg- > > I'm no expert on the nillable support in the SourceGenerator, but I'll > see if I can ask an intelligent question... If you look at the > generated classes, does the class contain a long or a Long? It > appears there is a SourceGenerator option ("asWrapper" in the code, > not sure how it is specified to the SourceGenerator) to make Castor > use primitive wrapper objects rather than the primitives themselves. > If a primitive wrapper is used I could see Castor setting the value to > null, but with a true primitive, I think 0 is the best it can do... > > Don't know if that is any help at all, but I hope it accomplishes > something :) > > Stephen > > > On 4/9/06, Greg Garson <[EMAIL PROTECTED]> wrote: > > I can see some discussion on this in the mailing archive but it > doesn't > > seem to answer my question. Using a SourceGen'd class containing an > > element defined as: > > > > xsd:element name="assignedToUser" type="xsd:long" > > nillable="true"></xsd:element> > > > > I pass the element instance: > > > > <assignedToUser xsi:nil="true" xmlns=""/> > > > > Castor sets the value in the resulting class to 0 instead of leaving > it > > blank. Is it assumed by Castor that an empty numeric element = 0? Is > > there some setting I'm missing? > > > > Thanks, > > > > Greg > > > > ------------------------------------------------- > > If you wish to unsubscribe from this list, please > > send an empty message to the following address: > > > > [EMAIL PROTECTED] > > ------------------------------------------------- > > > > > > ------------------------------------------------- > If you wish to unsubscribe from this list, please > send an empty message to the following address: > > [EMAIL PROTECTED] > ------------------------------------------------- > >

