- From: Roberto Chinnici <Roberto.Chinnici@Sun.COM>
- Date: Tue, 16 Sep 2003 14:19:12 -0700
- To: "Amelia A. Lewis" <alewis@tibco.com>
- Cc: mgudgin@microsoft.com, www-ws-desc@w3.org
Amelia A. Lewis wrote: > On Tue, 16 Sep 2003 09:59:11 -0700 > Roberto Chinnici <Roberto.Chinnici@Sun.COM> wrote: > >>Amelia A. Lewis wrote: >> >>>On Tue, 16 Sep 2003 03:11:09 -0700 >>>Martin Gudgin <mgudgin@microsoft.com> wrote: >>> >>> >>>>This text first appeared in wsdl12.xml CVS revision 1.34.2.2 as part >>>>of the types work ( it was subsequently merged into the main branch >>> >>>in>version 1.35 ). It was part of the write up that Amy did, I think. >>> >>>>Note that this ONLY applies to schemas that DO NOT have a target >>>>namespace. It cannot be used to override the namespace of an >>> >>>imported>schema document that DOES have a target namespace. The text >>> >>>>essentially means that all schemas constructs are qualified. I can't >>>>remember the rationale for allowing this, perhaps Amy will have >>> >>>better>powers of recall. >>> >>> >>>As I recall, this deals with XML Schemas that were originally >>>designed for use as "chameleons", and it also provides a pattern for >>>use with other schema languages (for instance, the DTD example uses >>>a similar technique to place all of the elements imported into a >>>single namespace). >> >>Yes, but the dtd:import element is brand new, so we can assign it an >>arbitrary semantics. It worries me that we're redefining how the >>xsd:import construct works. This new functionality doesn't seem to >>be too well defined either. >> >>For instance, wouldn't the clause "as if it contained a corresponding >>targetNamespace declaration" be likely to break the references between >>components in the imported schema? After all, if I did literally what >>the spec says, i.e. read the schema in, ran a transform on it to set >>its targetNamespace attribute to the desired value, then processed the >>resulting document per the XML Schema spec, I'd most likely run into >>some invalid references. > > > Entirely possible, with a complex schema. Solution is to namespace the > schema internally. If it isn't editable, and doesn't have a namespace, > and breaks when a namespace is imposed, it's not usable. > > >>By the way, I'm not sure what you mean by "chameleons". Could you >>clarify that? > > > No. Google for it; it's a sufficiently complex topic that we don't need > to go into it here. Done, thanks. The references I found tell me that these chameleons are quite a hack, that there are indeed problems with references to components within them and mostly that you shouldn't use them. Given all this, I see even less of a reason to invent a new xsd:import construct just to accommodate them. The workaround of defining your own schema, have it include the chameleon and then xsd:import it (or inline it) in your WSDL seems entirely acceptable, and from my point of view is preferable to having the WSDL spec step into XML Schema's territory. Roberto > Amy! > >>Thanks, >>Roberto >> >> >>>As Gudge says, I believe that this is simply intended to force >>>schemas lacking namespaces into a namespace. The principle is >>>simplicity: if you're going to refer to components of a schema by >>>namespace, it ought to be the same as the namespace that labels the >>>import. But I believe the language was specifically chosen to avoid >>>allowing chameleons. >> >> > >> >>>Amy! >>> >>> >>>>I would note that this text was reviewed as part of the types work >>> >>>in>January 2003 and was agreed by the WG. That said, I don't feel >>> >>>>strongly about it and would be happy for us to open an issue to >>>>claridy this point. >>>> >>>>Gudge >>>> >>>> >>>> >>>>>-----Original Message----- >>>>>From: www-ws-desc-request@w3.org >>>>>[mailto:www-ws-desc-request@w3.org] On Behalf Of Roberto Chinnici >>>>>Sent: 16 September 2003 01:06 >>>>>To: www-ws-desc@w3.org >>>>>Subject: Question on xsd:import >>>>> >>>>> >>>>>It's been about a year since we last talked about imports. In >>>>>section 3.1.1.1 of part 1 of the spec I found this sentence >>>>>describing how xsd:import works (the text in square brackets is >>>>>mine): >>>>> >>>>>"If the [imported] schema does not have a targetNamespace >>>>>AII, then the namespace specified by the namespace AII [of >>>>>the xsd:import EII inside the wsdl:type EII] is applied to >>>>>all components of the schema as if it contained a >>>>>corresponding targetNamespace declaration." >>>>> >>>>>This looks very different from what XML Schema does. It seems >>>>>that to honor this clause a WSDL processor would need to use >>>>>a specially rigged XML Schema processor that allows for this >>>>>namespace overriding to happen. >>>>> >>>>>Can someone refresh my memory as to when we approved the text >>>>>above and what its rationale was? >>>>> >>>>>Thanks, >>>>>Roberto >>>>> >>>>>-- >>>>>Roberto Chinnici >>>>>Java Web Services >>>>>Sun Microsystems, Inc. >>>>>roberto.chinnici@sun.com >>>>> >>>>> >>>>> >>>> >>> >> >
Received on Tuesday, 16 September 2003 17:17:55 UTC