Both WSDL and XML Schema have the notion of a target namespace. In XML
Schema this property can be absent, denoting constructs that are not
affiliated with a particular namespace. This was necessary because XML
Schema describes XML instances, and elements in an XML instance may be
unqualified ( not affiliated with a namespace ).
The question I would like to pose is 'Does it makes sense to allow the
target namespace property of WSDL components to be absent?'. And I will
argue that it does not. WSDL does not describe XML instances, it
describes messages, portTypes, bindings and services. I think it makes
sense to mandate that these contructs always be affiliated with a
namespace.
To this end, I propose that we mandate the 'targetNamespace' AII on the
definitions EII. And that we modify the spec to say that the value of
the AII must be a non-zero length URI.
Changes to spec
Section 3.1
Add a bullet between current bullets 2 and 3;
* A target namespace attribute information item amongst its [attributes]
as described below
Section 3.1.1
Add a third bullet
* A type of anyURI in the http://www.w3.org/2001/XMLSchema namespace
Add prose
The value of the targetNamespace attribute information item MUST NOT be
the empty string.
Gudge