W3C home > Mailing lists > Public > www-ws-desc@w3.org > October 2003

Re: Can one inline schema import definitions from a second inline schema?

From: Umit Yalcinalp <umit.yalcinalp@oracle.com>
Date: Fri, 17 Oct 2003 16:39:40 -0700
Message-ID: <3F907DBC.7050204@oracle.com>
To: Arthur Ryman <ryman@ca.ibm.com>
Cc: www-ws-desc@w3.org


Arthur Ryman wrote:

>
> The consensus seems to be that multiple <schema> elements are OK. The 
> schemaLocation attribute is not required and is in any case only a 
> hint where to find the schema. I therefore suggest that we include 
> this example of two mutually referiing inline <schema> elements in the 
> Primer to clear up any potential misunderstanding.
>
> Although this interpretation seems to be a consequence of the WSDL and 
> XSD specs, it is not "obvious" to at least some of us...
>
> It's worth recalling the story of the very famous mathematician, G.H. 
> Hardy, who in a lecture said about some detail in a proof: "This is 
> obvious." After a pause, he went on: "Hmm, is it really obvious?" 
> After another pause he left the room to consider the point, returning 
> 20 minutes later with the verdict: "Yes, I was right, it is obvious."
>
> Arthur Ryman 

Not to be radical or anything, perhaps one should question why we need 
inline schemas to import definitions from an inline schema. If the 
intent of an inline schema is simplicity and to be able to add a small 
set of  definitions in the WSDL directly, why then you would have 
multiple schemas interacting with each other, etc. I would use separate 
schema files to do such things and it would be  a better design as it is 
reusable and modular.

I would rather see inlined schemas to dissappear altogether from WSDL. 
Instead of discussing the semantics and the interpretation of inlined 
schemas within WSDL, the problem can be left to Schema completely.

Just a thought about simplification folks.

--umit


>
>
>
>
> 	"Amelia A. Lewis" <alewis@tibco.com>
> Sent by: www-ws-desc-request@w3.org
>
> 10/17/2003 12:03 PM
>
> 	       
>         To:        paul.downey@bt.com
>         cc:        mgudgin@microsoft.com, sanjiva@watson.ibm.com, 
> Arthur Ryman/Toronto/IBM@IBMCA, Lawrence Mandel/Toronto/IBM@IBMCA, 
> www-ws-desc@w3.org, www-ws-desc-request@w3.org
>         Subject:        Re: Can one inline schema import definitions 
> from a second inline  schema?
>
>
>
>
>
> Do we need to do so?
>
> The current language of the specification seems fairly straightforward.
> We permit, as immediate children of types, when W3C XML Schema is used
> (and it is the only schema language required to be supported by all WSDL
> processors), both xs:schema and xs:import.  We *do not* constrain the
> semantics of these child elements, except to change @targetNamespace to
> REQUIRED (for embedded and imported schemata both).
>
> We should not, in my opinion, overconstrain W3C XML Schema.  We have
> already forbidden the use of chameleon schemata, which removes an
> enormous burden on processors; support for that [mis?]feature would have
> placed an unacceptable burden on the WSDL processor, since we would have
> had to define the semantics of chameleon schemata in a context never
> anticipated (the idea that a WSDL targetNamespace could apply to an
> imported/embedded schema makes for all sorts of really interesting and
> sometimes quite surprising interactions).
>
> In so far as is possible, we should *not* change semantics of W3C XML
> Schema, in my opinion.  The value of requiring it as a supported schema
> language lies in the re-use of existing schema processors.  If we begin
> to place further constraints upon it, it stops being the language
> supported by existing processors, and requires a whole new generation of
> processors customized for schema-in-WSDL-context.
>
> The idea behind embedding and importing schema, as I understand it, is
> to rule that whole complex area *out of scope* for the WSD WG.  Writing
> a schema language is *hard*, we need to reuse, not reinvent, and not
> revise.  This allows us to focus on what we [should?] do best.
>
> Amy!
> On Fri, 17 Oct 2003 16:39:32 +0100
> paul.downey@bt.com wrote:
>
> >
> > isn't this an issue about how multiple inline schemas reference each
> > other in a   single WSDL document ?
> >
> > AIUI it's just a matter of formally stating what appears to be a
> > common practice.
> >
> > Paul
> >
> > -----Original Message-----
> > From: Martin Gudgin [mailto:mgudgin@microsoft.com]
> > Sent: 17 October 2003 16:36
> > To: Downey,PS,Paul,XSJ67A C; sanjiva@watson.ibm.com; ryman@ca.ibm.com
> > Cc: lmandel@ca.ibm.com; www-ws-desc@w3.org; www-ws-desc-request@w3.org
> > Subject: RE: Can one inline schema import definitions from a second
> > inline schema?
> >
> >
> > Given that xs:import is defined by XML Schema and NOT WSDL, I don't
> > see how WSDL can really constrain it in any way.
> >
> > Gudge
> >
> > > -----Original Message-----
> > > From: paul.downey@bt.com [mailto:paul.downey@bt.com]
> > > Sent: 17 October 2003 16:35
> > > To: sanjiva@watson.ibm.com; Martin Gudgin; ryman@ca.ibm.com
> > > Cc: lmandel@ca.ibm.com; www-ws-desc@w3.org;
> > > www-ws-desc-request@w3.org Subject: RE: Can one inline schema import
> > > definitions from a second inline schema?
> > >
> > > i don't think the BP doesn't preclude more than 1 schema
> > > within the types section - though i couldn't see anything
> > > about referencing between inline schemas.
> > >
> > > FWIW, quite a few existing kits (including .NET) will
> > > generate WSDL 1.1 with multiple inline schemas which
> > > reference each other using <import namespace="blah"> - with a
> > > missing schemaLocation ..
> > >
> > > maybe the anonymous schemaLocation should be
> > > supported/precluded explicitly in WSDL 1.2 ?
> > >
> > >
> > > --
> > > Paul Sumner Downey
> > > Web Services Integration
> > > BT Exact
> > >
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Sanjiva Weerawarana [mailto:sanjiva@watson.ibm.com]
> > > Sent: 17 October 2003 16:02
> > > To: Martin Gudgin; Arthur Ryman
> > > Cc: Lawrence Mandel; www-ws-desc@w3.org; www-ws-desc-request@w3.org
> > > Subject: Re: Can one inline schema import definitions from a second
> > > inline schema?
> > >
> > >
> > >
> > > Didn't we discuss this a while back and say only *1* schema within
> > > <types>?? Or maybe that WSI BP that does that?
> > >
> > > Sanjiva.
> > >
> > > ----- Original Message -----
> > > From: "Arthur Ryman" <ryman@ca.ibm.com>
> > > To: "Martin Gudgin" <mgudgin@microsoft.com>
> > > Cc: "Lawrence Mandel" <lmandel@ca.ibm.com>; <www-ws-desc@w3.org>;
> > > <www-ws-desc-request@w3.org>
> > > Sent: Friday, October 17, 2003 7:56 PM
> > > Subject: RE: Can one inline schema import definitions from a
> > > second inline
> > > schema?
> > >
> > >
> > > > Gudge,
> > > >
> > > > I agree to some extent, but AFAIK, WSDL is the only application
> > > > that inlines <schema>. I think the XSD spec assumes you have a
> > > single <schema>
> > > > per document, i.e. <schema> is the root element. So
> > > processing not one,
> > > > but two or more inline schemas is a bit of a shock for your
> > > typical XSD
> > > > processor. So probably the "reasonable" behavior you describe is
> > > > undefined.
> > > >
> > > > I think it would promote interoperability if the WSDL 1.2
> > > was clear on
> > > > this point, one way or the other. From your response, I
> > > assume you would
> > > > support the use of more than one inline <schema> in the
> > > <types> element.
> > > >
> > > > Arthur Ryman
> > > >
> > > >
> > > >
> > > >
> > > > "Martin Gudgin" <mgudgin@microsoft.com>
> > > > Sent by: www-ws-desc-request@w3.org
> > > > 10/17/2003 06:17 AM
> > > >
> > > >
> > > >         To:     Lawrence Mandel/Toronto/IBM@IBMCA,
> > > <www-ws-desc@w3.org>
> > > >         cc:
> > > >         Subject:        RE: Can one inline schema import
> > > definitions from
> > > a second inline schema?
> > > >
> > > >
> > > >
> > > >
> > > > To be frank, I think this has very little to do with WSDL. It is
> > > > perfectly coherent for a schema processor, on encountering
> > > <xsd:import
> > > > namespace='http://namespace1' /> to say to itself, ah, I
> > > have a schema
> > > > for that namespace, I'll use that here. Likewise, when it
> > > > encounters<xsd:import namespace='http://namespace2' /> it would
> > > > say,
> > > ah, not seen
> > > > that namespace yet, I'll wait and see what happens.
> > > >
> > > > Gudge
> > > >
> > > > > -----Original Message-----
> > > > > From: www-ws-desc-request@w3.org
> > > > > [mailto:www-ws-desc-request@w3.org] On Behalf Of Lawrence Mandel
> > > > > Sent: 16 October 2003 23:19
> > > > > To: www-ws-desc@w3.org
> > > > > Subject: Can one inline schema import definitions from a
> > > > > second inline schema?
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Hello,
> > > > >
> > > > > We have customers that do the following in WSDL 1.1:
> > > > >
> > > > > <types>
> > > > >  <schema targetNamespace="http://namespace1" xmlns=
> > > > > "http://www.w3.org/2001/XMLSchema"
> > > > > xmlns:two="http://namespace2">
> > > > >    <import namespace="http://namespace2"/>
> > > > >    <complexType name="myComplexType">
> > > > >     <sequence>
> > > > >      <element name="myElement" type="two:B"/>
> > > > >     </sequence>
> > > > >    </complexType>
> > > > >    <complexType name="A">
> > > > >     <sequence>
> > > > >      <element name="elementA" type="xsd:string"/>
> > > > >     </sequence>
> > > > >    </complexType>
> > > > >   </schema>
> > > > >   <schema targetNamespace="http://namespace2" xmlns=
> > > > > "http://www.w3.org/2001/XMLSchema"
> > > > > xmlns:one="http://namespace1">
> > > > >    <import namespace="http://namespace1"/>
> > > > >    <complexType name="myComplexType">
> > > > >     <sequence>
> > > > >      <element name="myElement" type="one:A"/>
> > > > >     </sequence>
> > > > >    </complexType>
> > > > >    <complexType name="B">
> > > > >     <sequence>
> > > > >      <element name="elementB" type="xsd:string"/>
> > > > >     </sequence>
> > > > >    </complexType>
> > > > >   </schema>
> > > > > </types>
> > > > >
> > > > > The customers say that this is not explicitly forbidden by
> > > > > the WSDL 1.1 specification and I can't find anything that
> > > > > forbids this in the WSDL 1.1 specification.  However, there
> > > > > is nothing in the WSDL 1.1 specification that states how to
> > > > > import a schema defined in the same types section but with a
> > > > > different namespace.
> > > > >
> > > > > Is this allowed according to the WSDL 1.2 specification?  If
> > > > > so, what is the correct way to import one inline schema
> > > into another?
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Lawrence Mandel
> > > > >
> > > > > Software Developer
> > > > > WebSphere Studio Application Developer - XML Tools
> > > > > Phone: 905 - 413 - 3814   Fax: 905 - 413 - 4920
> > > > > lmandel@ca.ibm.com
> > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > >
> >
> >
>
>
> -- 
> Amelia A. Lewis
> Architect, TIBCO/Extensibility, Inc.
> alewis@tibco.com
>
>
>

-- 
Umit Yalcinalp                                  
Consulting Member of Technical Staff
ORACLE
Phone: +1 650 607 6154                          
Email: umit.yalcinalp@oracle.com
Received on Friday, 17 October 2003 19:39:56 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:27 GMT