Clarify 'scope' of {element declarations} and {type definitions} re SparqlQuerySimplified-1G

I would like clarification the WSDL 2.0 testcase SparqlQuerySimplified-1G
and which schema element declarations should be present in the {element
declarations} property of the Description component. I think I had a
conversation about this issue with Jonathan and Arthur driving out to Niagra
Falls at the July interop.

The baseline component model interchange format for this testcase includes
an element declaration whose namespace is not inlined or imported within the
WSDL document's <types> element.

Baseline sparql-protocol-query.canonical.wsdlcm contains this item:

        <elementDeclarationComponent xml:id="c22">
            <name>
                <base:namespaceName>
http://www.w3.org/1999/02/22-rdf-syntax-ns#</base:namespaceName>
                <base:localName>RDF</base:localName>
            </name>
            <system>http://www.w3.org/2001/XMLSchema</system>
        </elementDeclarationComponent>

This element declaration is defined in a schema which is imported by the
<xs:schema> element inlined within the <types> element of
sparql-protocol-query.wsdl. However, the namespace
http://www.w3.org/1999/02/22-rdf-syntax-ns# is not xs:imported directly
within the <types> element.

According to Part 1, section 3.1 Using W3C XML Schema Description Language:
Schema-0016 "A WSDL 2.0 document MUST NOT refer to XML Schema components in
a given namespace unless an xs:import or xs:schema element information item
for that namespace is present ..."

In implementing Woden, I interpreted this to mean that {element
declarations} and {type definitions} only contain schema components whose
namespace is inlined or imported directly within the <types> element. The
Woden sparql-protocol-query.canonical.wsdlcm file refects this, in that the
element declaration mentioned above is not present (and Woden is failing the
testcase accordingly).

However, it may be that the intention of the WSDL 2.0 authors is that ALL
global element declarations and type definitions referenceable by XML Schema
MUST be included in {element declarations} and {type definitions},
regardless of whether they are inlined or imported directly within <types>
or whether they are 'nested' imports within those directly inlined or
imported schemas, and that assertions like Schema-0016 only apply when WSDL
2.0 components like InterfaceFault and InterfaceMessageReference resolve
their 'element' QNames to ElementDeclarations (but not to the contents of
{element declarations} and {type definitions} themselves).

Can someone from the working group please explain which interpretation is
correct?

Thanks,
John Kaputin

Received on Tuesday, 9 January 2007 13:02:53 UTC