Thanks Gary!  That is exactly what I needed to know.  That was very helpful.

Chris

> -----Original Message-----
> From: Gary L Peskin [mailto:[EMAIL PROTECTED]
> Sent: Friday, September 26, 2003 12:25 PM
> To: [EMAIL PROTECTED]
> Subject: RE: namespace question
>
>
> Please see my answers below.
>
> Gary
>
> > -----Original Message-----
> > From: Chris Williamson [mailto:[EMAIL PROTECTED]
> > Sent: Friday, September 26, 2003 9:35 AM
> > To: [EMAIL PROTECTED]
> > Subject: RE: namespace question
> >
> >
> > 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?
>
> I think Anne already answered this.  I'm not aware of any WS-I standard
> about this.  It may be there, I just don't know.
>
> >
> > 2) So if elementFormDefault="qualified" is not set and the
> > element is a child of the schema root then it should use the
> > targetNnamespace?
>
> elementFormDefault does not affect children of the schema root one way or
> the other.  They are always in the targetNamespace specified in the schema
> element.  elementFormDefault only affects descendants of the schema below
> the children.  If set to qualified, the descendent is in the
> targetNamespace.  If set to unqualified, the descendant is not in any
> namespace.  This can be overridden with a form attribute on the descendent
> "element" element.
>
>
> > Otherwise if it is a local element it
> > should not.
>
> I'm not sure what this means.
>
> > If elementFormDefault="qualified" is set then
> > all should use the targetNamespace.  Just to make sure.
>
> Yes.
>
> >
> > 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
> > >
> >

Reply via email to