W3C home > Mailing lists > Public > www-ws-desc@w3.org > June 2006

CR045: Inline schemas with no target namespace

From: <paul.downey@bt.com>
Date: Thu, 8 Jun 2006 17:23:54 +0100
Message-ID: <2A7793353757DB4392DF4DFBBC95225504BFEA61@I2KM11-UKBR.domain1.systemhost.net>
To: <ryman@ca.ibm.com>, <ramkumar.menon@gmail.com>
Cc: <www-ws-desc@w3.org>

this was recorded as CR045, and I took an action on today's
telcon to try and make some progress


> Menon wrote:
> Section of the Core Langage spec says
> "WSDL 2.0 modifies the XML Schema definition of the xs:schema element
> information item to make this attribute information item required".

So it's assertion #Schema-0019-summary which is the issue here:

"The xs:schema element information item MUST contain a targetNamespace 
attribute information item.†"

> There is a scenario where I have an existing XSD that I am intending
> to re-use while designing the WSDL. The XSD has no target namespace,
> and has a bunch of elements and attributes defined within it. What it
> also does is to import a couple of XSDs that have a non-null target
> namespace. the wsdl intends to define the message parts to point to
> one of the nodes defined in the imported XSDs within the nonamespace
> XSD. 
> The nodes that had been directly defined in the no-namespace XSD
> are not used by the WSDL, but are consumed by other applications.

So the Global Element Declaration (GED) you'd like to reference
has a qname, but is imported by a schema with no-namespace.

> I was wondering that atleast
> theoretically, this should be possible. The question is - "Do we need
> to make some statements around this in the spec" ?

> Arthur wrote:
> Just the immediate childen of the wsdl:types element need a namespace. 
> Within those you can include or import a no-namespace schema.

xs:include isn't going to help here, as the components in the 
no-namespace schema will take on the namespace of the includer,
chameleon style.

You could create a wrapper schema with a targetNamespace
and then xs:import a no-namespace schema from outside the WSDL:

    <xs:schema targetNamespace="http://example.com/dev/null">
      <xs:import schemaLocation"no-namespace.xsd"/>

But then the no-namspace schema is no longer inlined.

> [snippit]
> In this case, do yo think that it would be "really" invalid to inline
> such an XSD into the WSDL ? 

Well with the targetNamespace required assertion, yes :-)
But I get your drift - what is the benefit for this assertion?
Can we relax it based upon this new knowledge?

Received on Thursday, 8 June 2006 16:27:10 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 23:06:58 UTC