Excellent thanks Anne. That is a big help. So that means that if the form is qualified it takes on the targetNamespace. I think I got it.
Thanks, Chris > -----Original Message----- > From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] > Sent: Friday, September 26, 2003 3:50 PM > To: [EMAIL PROTECTED] > Subject: RE: namespace question > > > Sorry I neglected to answer #2: > > If elementFormDefault="qualified" then all elements in the schema -- > whether local or global -- are in the targetNamespace, and all > elements in > a schema instance must be namespace qualified. If > elementFormDefault="nonqualified", or if the attribute is not specified, > then global elements (direct child of the <schema> element) are in the > targetNamespace, and local elements (descendents of other > definitions) are > in no namespace. Local elements in a schema instance must not be > namespace > qualified. Note that the default form can be overridden in the > schema on an > element-by-element basis using the form attribute (form="qualified" or > form="unqualified"). > > Anne > > At 11:35 AM 9/26/2003 -0500, you wrote: > >I have a few followup questions about this. > > > >1) What is the preferred way to do this? Is it preferred to use > >elementFormDefault="qualified" or not? Is there anything mentioned about > >this in ws-i or any other spec that tries to standardize web services? > > > >2) So if elementFormDefault="qualified" is not set and the element is a > >child of the schema root then it should use the > targetNnamespace? Otherwise > >if it is a local element it should not. If > elementFormDefault="qualified" > >is set then all should use the targetNamespace. Just to make sure. > > > >Thanks, > > > >Chris > > > > > -----Original Message----- > > > From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] > > > Sent: Thursday, September 25, 2003 8:54 PM > > > To: [EMAIL PROTECTED] > > > Subject: Re: namespace question > > > > > > > > > Per your schema, the element <text> is a local element, which > > > means that it > > > should not be namespace qualified. Hence Axis does produce an accurate > > > realization of your element. Since the <operation> has a default > > > namespace, > > > you must use xmlns="" to turn off the default namespace. > > > > > > If you added elementFormDefault="qualified" to your <schema> > > > element, then > > > all of your local elements would also have qualified names, > in which case > > > they would inherit their namespace from their parent element. > > > > > > Anne > > > > > > At 05:20 PM 9/25/2003 -0500, you wrote: > > > >Hello, > > > > > > > >I have a question about namespaces while using document style > > > web service... > > > > > > > >Say I have a method defined by the schema... > > > > > > > ><schema > > > > targetNamespace="http://www.domain.com/namespace" > > > > xmlns="http://www.w3.org/2001/XMLSchema"> > > > > <element name="operation"> > > > > <complexType> > > > > <sequence> > > > > <element maxOccurs="1" name="text" type="xsd:string"/> > > > > </sequence> > > > > </complexType> > > > > </element> > > > >... > > > ></schema> > > > > > > > >It appears that the code that is generated by WSDL2Java > > > generates a message > > > >that would look something like this... > > > > > > > ><operation xmlns="http://www.domain.com/namespace"> > > > > <text xmlns=""> > > > > blah > > > > </text> > > > ></operation> > > > > > > > >Why does this add xmlns="" to the text element? Should this not > > > be there so > > > >that the top level namespace persists? > > > > > > > >I want to know this because I am of the opinion that the > namespace should > > > >persist to the elements defined inside the element and you > > > should be able to > > > >check against the namespace of these elements on the server. > With the > > > >client adding xmlns="", the namespace is null and I can't check > > > against the > > > >namespace. Is it acceptable for the namespace to be null or the > > > namespace > > > >defined by targetNamespace? > > > > > > > >Thanks for any help, > > > > > > > >Chris > > > >