- From: Christopher B Ferris <chrisfer@us.ibm.com>
- Date: Fri, 11 Oct 2002 19:28:13 -0400
- To: Don Mullen <donmullen@tibco.com>
- Cc: Amy Lewis <alewis@tibco.com>, "'Jacek Kopecky'" <jacek@systinet.com>, WS Description WG <www-ws-desc@w3.org>, www-ws-desc-request@w3.org
- Message-ID: <OF7154D2B8.5256FF6C-ON85256C4F.006DE5A6-85256C4F.0080CE3D@rchland.ibm.com>
Jacek's points are well taken. Why not then leverage xs:include as that would seem to be more approriate given Jacek's points. e.g. <wsdl:types> <xs:schema ...> <xs:include schemaLocation="http://example.org/yadda/mystuff.xsd"/> </xs:schema> </wsdl:types> Cheers, Christopher Ferris Architect, Emerging e-business Industry Architecture email: chrisfer@us.ibm.com phone: +1 508 234 3624 www-ws-desc-request@w3.org wrote on 10/11/2002 03:31:30 PM: > > > I agree with Jacek. I don't think including a schema that has an import > effectively exposes the imported schema. > > It strikes me that we have several options, three of which I will list here: > > -------------- > 1) Add an attribute to <import> indicating the expected document type being > imported : > > <import namespace="anyUri" importType="anyUri" [location="anyUri"] /> > > The importType uri would be the namespace of the type of document that is > being imported: > WSDL 1.2 = "http://www.w3.org/2002/07/wsdl" > XML Schema 1.0 = "http://www.w3.org/2001/XMLSchema" > > importType could be optional and default to WSDL 1.2. > > -------------- > 2) Add a separate <typesImport> : > > <typesImport namespace="anyUri" importType="anyUri" [location="anyUri"] /> > > The importType uri would be the namespace for the schema language that is > being imported: > XML Schema 1.0 = "http://www.w3.org/2001/XMLSchema" > RELAX NG = "relaxNGUri" > etc. > > -------------- > 3) Add an <import> as a child of <types> that only imports schemas: > > <wsdl:types> > <import namespace="anyUri" importType="anyUri" [location="anyUri" /> > </wsdl:types> > > -------------- > > I would argue that WSDL 1.1 made a mistake in adding embedded schemas using > <types> -- WSDL should get out of types definitions space and drop <types> > completing -- just allow <import> of schemas. > > Don > > -----Original Message----- > From: Jacek Kopecky [mailto:jacek@systinet.com] > Sent: Friday, October 11, 2002 1:16 PM > To: WS Description WG > Subject: Importing schemata into WSDL > > Hi all, 8-) > > in WSDL 1.1 the import statement allowed importing schema documents. In > WSDL 1.2 we are apprarently moving in the direction of disallowing this, > but we acknowledge it must be possible to import an external schema into > a WSDL definitions document somehow. > > What I've heard from Gudge is that it is possible to import a schema at > http://example.org/schema.xs (with the same target namespace) using > > <wsdl:types> > <xs:schema> > <xs:import namespace="http://example.org/schema.xs" > location="http://example.org/schema.xs"/> > </xs:schema> > </wsdl:types> > > I have a problem with this because IMHO this violates XML Schema import > semantics. Let me explain: > > Let's assume I have three schemas, a.xs, b.xs and c.xs, with different > target namespaces; where a.xs only imports b.xs and b.xs imports c.xs. > On the component level; a.xs then contains all the type and element > definitions from a.xs and all the type and element definitions from b.xs > are accessible in a.xs. > > Note that no definitions from c.xs are visible in a.xs - this is logical > because the fact that b.xs imports c.xs is just an implementation detail > of b.xs and should not be propagated outside of b.xs. In other words, > a.xs must not be affected by a change to b.xs that only removes the > import and redefines those definitions (still in b.xs) that used > definitions from c.xs. > > What I think this means is that an xs:schema element (together with any > contents) is a syntactic representation of the set of type and element > definitions contained within. > > I think it's apparent from the paragraph above that WSDL should not know > about imports in wsdl:types/xs:schema. I.e. a schema cannot be imported > into a WSDL definitions document by importing it in a contained schema. > > I think that we'll have to reallow our import statement to import > schemas (which should be doable in a safe way, I believe) or we should > introduce a typesImport statement that would serve to import external > schemata, as the types statement serves to provide (import) internal > schemata. > > Hope it makes sense, > > Jacek Kopecky > > Senior Architect, Systinet Corporation > http://www.systinet.com/ > > >
Received on Friday, 11 October 2002 19:28:52 UTC