RE: WSDL 2.0 Primer (Not Core), section 2.3.3, "xs:include"

Hi J Bean,
Interesting point.  I believe I created that table in the primer, and I
don't think I thought about the chameleon case when I wrote it, so it
sounds like something should be added to address it.  However, Arthur
and Kevin are probably more up on the spec than me right now.
Arthur?  Kevin?   Can you comment?
David Booth

-----Original Message-----
From: RDBMS [] 
Sent: Thursday, October 27, 2005 5:20 PM
Cc: Booth, David (HP Software - Boston); WSDL - Arthur Ryman
Subject: Fw: WSDL 2.0 Primer (Not Core), section 2.3.3, "xs:include"

I referenced the "Core" rather than Primer. This comment refers to the
My Apologies !
J. Bean
P.O. Box 30171
Phoenix, AZ  85046-0171
----- Original Message ----- 
From: RDBMS <>  
Cc: WSDL -  <> Booth, David (HP) ; WSDL - Arthur
Ryman <>  
Sent: Thursday, October 27, 2005 1:53 PM
Subject: WSDL 2.0 Core, section 2.3.3, "xs:include"

I believe that the table (2-1) and column "meaning" may be incomplete as
to xs:include, or it imposes a restriction on XML Schema within WSDL
that is not constrained by XML Schema alone.
The current text in this table for xs:include notes:
"Merge XML Schema components from another XML Schema document that has
the SAME targetNamespace."
This text implies/states that an xs:include(d) schema MUST have a
targetNamespace, which is not true.
The notion of a "chameleon" schema is one that implements an xs:include
from a parent schema (often a proxy or umbrella schema). The
xs:include(d) schema in this example is not required to have a
targetNamespace. That is, the xs:include(d) namespace might not have any
namespace at all, or it can have the same targetNamespace.
The parent or xs:include(ing) schema would then act as a proxy to apply
its namespace to all xs:include(d) and referenced declarations (assuming
it has a targetNamespace, which is also not required).
If the xs:include(d) schema does not have a targetNamespace declared, it
is then coerced into the namespace of the xs:include(ing) parent schema
(again, if that parent schema has a targetNamespace). In this case and
by virtue of having no targetNamespace, the xs:include(d) schema does
NOT have the same namespace as the xs:include(ing) schema. This
condition would appear to violate the text in table 2-1.

If the xs:include(d) schema does have a targetNamespace declared, it
then MUST be the same as the xs:include(ing) parent schema (this
condition is satisfied by the text in table 2-1).

Was the intent of the working group such that the current application of
targetNamespace and xs:include as allowed by XML Schema is not allowed
when implemented via a WSDL <types/> reference ?
J. Bean
P.O. Box 30171
Phoenix, AZ  85046-0171

Received on Thursday, 27 October 2005 22:03:00 UTC