W3C home > Mailing lists > Public > www-ws-desc@w3.org > October 2004

RE: Can multiple inline schemas have same targetNamespace?

From: Glen Daniels <gdaniels@sonicsoftware.com>
Date: Tue, 5 Oct 2004 22:45:34 -0400
Message-ID: <80A43FC052CE3949A327527DCD5D6B278AFF62@MAIL01.bedford.progress.com>
To: "Pete Hendry" <peter.hendry@capeclear.com>, "David Booth" <dbooth@w3.org>
Cc: "Jeehong Min" <jeehongm@parasoft.com>, "WS Description List" <www-ws-desc@w3.org>


Hi Pete:

Well, sure that would be easy, but I think this is the exact same
problem as if you had:

WSDL:
<wsdl:definitions>
 <wsdl:types>
  <wsdl:include location="xsd1"/>
 </wsdl:types>
</wsdl:definitions>

XSD1:
<xs:schema>
 <xs:element name="foo" type="xs:int"/>
 <xs:include location="xsd2"/>
<xs:schema>

XSD2:
<xs:schema>
 <xs:element name="bar" type="xs:float"/>
</xs:schema>

This wouldn't trigger your case below, but it would still result in a
"merged" schema, wouldn't it?  And if you replace "bar" in XSD2 with
"foo", you get a conflict which needs to somehow be resolved.  I think
this should have already been dealt with by the schema group, but a
cursory search hasn't yet netted me anything.  I glanced through the
somewhat dense text of
http://www.w3.org/TR/xmlschema-1/#compound-schema, but didn't see any
obvious statement about what to do if components are redefined without
an explicit <redefine> tag.

Rather than disallowing it, I think we should simply treat it as a
synonym for including the two <schema> elements, and simply be clear on
how that should resolve, with guidance from the schema WG as David
suggested.

--Glen

> -----Original Message-----
> From: Pete Hendry [mailto:peter.hendry@capeclear.com] 
> Sent: Tuesday, October 05, 2004 6:50 PM
> To: David Booth
> Cc: Glen Daniels; Jeehong Min; WS Description List
> Subject: Re: Can multiple inline schemas have same targetNamespace?
> 
> Rather than say you cannot be clear about it why not make a 
> clear statement:
> 
>     It is not permitted and if it is present then it is an error.
> 
> Nothing ambiguous there and it clears up the issue. It is a 
> lot easier for an implementation to detect this and error 
> than it is to try to work around it merging schemas and such. 
> Is there a purpose in allowing it?
> 
> Pete
> 
> David Booth wrote:
> 
> >This is an interesting question, and I think it needs to be 
> clarified 
> >in our spec, in case others also run into this issue.  I've just 
> >written to the XML Schema group for clarification from an 
> XML Schema point of view:
> >http://lists.w3.org/Archives/Public/www-xml-schema-comments/2
004OctDec/
> >0001.html
> >
> >Perhaps we should suggest that WSDL authors avoid doing 
> this, in order 
> >to avoid the issue, if we cannot be clear about whether or not it is 
> >permitted and what it means.
> >
> >
> >On Mon, 2004-10-04 at 11:24, Glen Daniels wrote:
> >  
> >
> >>Jeehong:
> >>
> >>As long as there is no overlap between the component definitions in 
> >>multiple schema containers for the same namespace, I think 
> this should 
> >>work just fine.  If there is overlap, we simply need to follow what 
> >>the schema spec says about how to resolve repeated components in a 
> >>schema (I'm not sure, though, if that's fault, first-one-wins, or 
> >>last-one-wins...).
> >>
> >>--Glen
> >>
> >>    
> >>
> >>>-----Original Message-----
> >>>From: www-ws-desc-request@w3.org
> >>>[mailto:www-ws-desc-request@w3.org] On Behalf Of Jeehong Min
> >>>Sent: Monday, September 27, 2004 12:48 PM
> >>>To: www-ws-desc@w3.org
> >>>Subject: Can multiple inline schemas have same targetNamespace?
> >>>
> >>>I would appreciate it if you could address the following 
> issue that I 
> >>>have seen in WSDLs of 2 customers in the past month.
> >>> 
> >>>One vendor's SOAP stack is creating WSDLs with multiple inline 
> >>>schemas that have the same namespace.
> >>> 
> >>>Here's an example:
> >>><wsdl:definition>
> >>><wsdl:types>
> >>><xs:schema targetNamespace="a">
> >>>types and elements
> >>></xs:schema>
> >>><xs:schema targetNamespace="a">
> >>>different types and elements
> >>></xs:schema>
> >>><xs:schema targetNamespace="b">
> >>>whatever
> >>></xs:schema>
> >>></wsdl:types>
> >>>...
> >>><wsdl:definition>
> >>> 
> >>>It's not clear to me whether the above is legal or not 
> (two schemas 
> >>>with the same targetNamespace="a").  Should XML parsers 
> for WSDL be 
> >>>smart enough to handle the above?  Or should parsers report errors?
> >>>
> >>>--
> >>>Jeehong Min
> >>>Software Engineer
> >>>SOAPtest Development
> >>>Parasoft Corporation
> >>> 
> >>>"We Make Software Work"
> >>>
> >>>      
> >>>
> 
> 
Received on Wednesday, 6 October 2004 02:45:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:33 GMT