W3C home > Mailing lists > Public > www-ws-desc@w3.org > March 2005

Re: Is schemaLocation Required When Importing Inline Schemas?

From: Amelia A Lewis <alewis@tibco.com>
Date: Wed, 30 Mar 2005 17:11:24 -0500
To: Arthur Ryman <ryman@ca.ibm.com>
Cc: www-ws-desc@w3.org
Message-Id: <20050330171124.0b73f137.alewis@tibco.com>

Ah.  Thanks for the example.

On Wed, 30 Mar 2005 16:48:49 -0500
Arthur Ryman <ryman@ca.ibm.com> wrote:
> Let A.wsdl contain an inline schema with namespace http://example.com/type
> .
> Let B.wsdl <wsdl:import> A.wsdl and contain a reference to an element 
> defined in the above inline schema. Assume B.wsdl also contains an 
> <xs:import>. 
> Question: in B.wsdl, is <xs:import namespace="http://example.com/type"/> 
> valid?

There are, it appears, several possible answers.

The best answer from the point of view of rigor and comprehensibility,
is: No.  B.wsdl cannot see the imports (whether inlined or not) of

This won't be an acceptable answer.  Which means that we are breaking
the rules that we adopted, or redefining them.  The other "consistent"
answer is: B.wsdl can see A.wsdl, all of A.wsdl's imports and inlines,
and the imports and inlines that A.wsdl's imports import or embed.  I
don't think that that's what's been proposed, but it does have the
virtue of consistency.

What seems to be necessary is for us to relax the rules, or to *not*
use the definition of an embedded schema as an inline import.  I hate
the idea of trying to change the rules.

Let's try defining an embedded schema as not an inline import, but a
<shudder /> thing on a par with its grandparent container.
Effectively, a WSDL that has an embedded schema "is" the schema, in
some sense.  Yuck, but at least that doesn't take us down the rathole
of special casing visibility.  Instead, we define the containment
(which is, as far as we know, unique in W3C specs; no other spec embeds
schema) to produce visibility as if the xs:schema element had the
position of its grandparent wsdl:description container.

If we so define the embedded schema (which may require some
clarification in part one?  Or somewhere?), then the Usual
Suspects^WVisibility Rules apply, and we're done.  Arthur gets the
embedded, otherwise impossible-to-point-to schema embedded in A.wsdl
visible in B.wsdl.  This is also more or less what people do with WSDL
1.1 (although the ambiguities there are so far-reaching that it's not
particularly safe to do anything except the known-working patterns).

Err.  Yuck, yuck, yuck.  Why are we permitting these things, again?

Amelia A. Lewis
Senior Architect
TIBCO/Extensibility, Inc.
Received on Wednesday, 30 March 2005 22:09:58 UTC

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