- 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