Re: Inlining/Importing XML Schema into a WSDL 2.0 Description

On Tue, 26 Sep 2006 13:30:59 -0700
"Ramkumar Menon" <ramkumar.menon@gmail.com> wrote:
>Question 1
>-----------------
>Paragraph 2 of Section 3.2.1 [Inlining XML Schema] states "Only
>components defined and declared in the schema itself and components
>included by it via xs:include are referenceable. Specifically
>components that the schema imports via xs:import are NOT
>referenceable.".

This is merely an attempt to clarify the behavior of XML Schema itself, which is notoriously difficult to understand.  Since we are talking about embedding schema, there are some edge cases where we need to expressly clarify.

>Does this mean that the elements within the inlined XSD should also
>have their type definitions in the same XSD ?

No.  The import brings the type information into the schema, where it can be freely used.  However, an import is not an export; the imported information is not visible to a document which imports the schema document, which is what an inlined schema is effectively defined to be.

>Question 2
>------------------
>Paragraph 1 of Section 3.1.1 [Importing XML Schema] of Part 1 states
>"Only components in the imported namespace are referenceable in the
>WSDL 2.0document."
>
>a) Does this imply that the type definition of the element also needs
>to be within the imported namespace ?

No.

>b) If (a) is false [i.e. there is no such restriction], does the type
>definition needs to be within the same XSD ?

No.

> Can it be defined within
>one of the XSDs imported within the main XSD?

Yes.

>Be it true/false, would it be better to state this explicitly in the
>specification ?

No, in my opinion.  We cannot possibly treat all of the potential consequences of treating an inlined schema as though it were imported; all we can do is try to set the general rule.

>But the fact about (b) is something that
>could be mentioned in the spec, esp. because the specification states
>about more retrictive semantics on inlining of the XSD.[it says that
>"Only components "defined and declared" in the schema itself and
>components included by it via xs:include are referenceable.". I assume
>that this means that the type definition of these elements need to be
>in the same XSD]

This assumption is incorrect; I see no reason to include an explicit statement that its consequences are also incorrect.

Amy!
(not speaking for the working group, but as a participant)
-- 
Amelia A. Lewis
Senior Architect
TIBCO/Extensibility, Inc.
alewis@tibco.com

Received on Tuesday, 26 September 2006 20:43:57 UTC