Hi again. Thanks for the answers, snipping to ask additional questions.
Werner Guttmann wrote: > > Yes. As already explained, a minOccurs="0" indicates that the element > can be (optionally) included in your XML, but this is not mandatory. And > this is an exclusive OR: either it is included or it is not. When it is > included, the fact that it is included mandates that it has to meet the > remainder of the criteria in your XML schema. > > In your case - and here I am taking the XML schema fragment from below - > this implies that if there's an > > <SomeNiceElementName> ...</SomeNiceElementName> > > included in your XML, its value space is that of <xs:integer> and the > value has to meet the 'totalDigits' facet as well. In other words, having > > <SomeNiceElementName></SomeNiceElementName> > > or > > <SomeNiceElementName/> > > would be invalid and violate the element definition (aka anonymous > simple type definition specified). > Shouldn't the unmarshalling produce an error then based on the schema definition below?? As it is now, if I have: <SomeNiceElementName></SomeNiceElementName> then a value of 0 appears in the attribute mapping to the element during the unmarshalling. Werner Guttmann wrote: > >> Definiton of element: >> >> <xs:element name="SomeNiceElementName" minOccurs="0"> >> <xs:annotation> >> <xs:documentation/> >> </xs:annotation> >> <xs:simpleType> >> <xs:restriction base="xs:integer"> >> <xs:totalDigits value="5"/> >> </xs:restriction> >> </xs:simpleType> >> </xs:element> >> >> Some additional info. This is an element not defined by me. The problem >> we >> have is something I am simply dabbling with on the side, I don't know >> enough >> of XML schemas to say if that is poorly written or not. > Yes, it is, if there's a requirement that this element should be able to > carry 'null' values. I hope that my comments above make things clearer > to you. > >> I also understand >> that not having the element present in the XML vs. getting an empty >> element >> in the XML is not the same thing, I would just like to know if there is a >> nice and simple way of making it the same thing (usually I have little or >> no >> use for an empty string "" or 0 and would in many instances always want >> to >> set NULL to an attribute that receives this). > Not the same thing, but you could use the 'nillable' attribute on the > element definition, and allow out-ouf-band signals about emptiness. > Is "nillable" the only solution or could the "poorly" written schema be written in a better way so that it still means optional but when an empty tag appears it doesn't try to add a default value for that type (in this case integer and the value of 0)?? Thanks again, Archie -- View this message in context: http://www.nabble.com/Unmarshalling-XML-with-null-values--tp16993226p17045616.html Sent from the Castor - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

