- 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
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 A.wsdl. 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? *sigh* Amy! -- Amelia A. Lewis Senior Architect TIBCO/Extensibility, Inc. alewis@tibco.com
Received on Wednesday, 30 March 2005 22:09:58 UTC