Pluggability of Schema Languages in WSDL

[note: This comment comes from both Asir Vedamuthu and Wes Moulder. 
       For further info, please talk to Asir.]

It feels like there is an unclear break between WSDL and XML Schema.  It
seems obvious that the idea was to allow multiple schema languages for 
XML to be used within the context of WSDL, however we find several 
concerns over this.

1) The spec requires anything which understands WSDL to understand XML 
Schema.  This means that anything which could gain by being decoupled 
from XML Schema (IE platforms which do not have a schema processor) 
immediately takes that hit, because it has to support XML Schema. XML 
Schema has been reified into the Object Model for the Type System that 
WSDL uses, with loose words about how to deal with DTDs and Relax NG. 

Reference - "Note: Support for the W3C XML Schema Description Language
 is required of all processors." 
- http://www.w3.org/TR/2004/WD-wsdl20-20040803/#eii-types

2) This feels a bit like inventing how these two xml schema languages 
are used in WSDL rather than standardizing what has been done (see
http://www.w3.org/TR/2004/WD-wsdl20-20040803/#dtd).  Having actual
implementations of a WSDL Generator and a WSDL Processor which actually 
use these and interoperate with each other should be a requirement 
before we include them in the final version of the spec.

3) We are still unclear on what should happen if more than one schema 
language is used. What if they say different things?

4) Overloading the use of the element AII for Message Reference 
Components, to refer components from different schema languages, seems
like a "bad thing"(tm).  If a WSDL processor only understands XML 
Schema, and it goes to retreive the element AII from a Message Reference, 
and it is not a QName that refers to a Schema component, it will cause 
confusion and delay. (Yes, Wes's son is a Thomas fan.)

To counter all of this we have two alternate proposals and one
requirement.

Proposal a) Break out XML Schema from the spec.  Introduce a schema
language "binding" (terribly overloaded term at the moment).  Describe 
in the Types section (part 1 section 3) the part of this binding that 
belongs here.  Describe in the Message Reference Component section 
(part 1 section 2.5) the part of this binding that belongs here.  
Say nothing about XML Schema in the spec.  Introduce an AII on the types
section which defines which schema language binding is in use, and state 
that a processor which does not understand the value of this AII must 
fault.  Have the wsdl processor fail if it does not understand the 
referenced schema language binding.  Introduce an adjunct to the spec 
defining the XML Schema schema language binding, making it optional.

Proposal b)  Drop RelaxNG and DTD from the spec and stay coupled to XML
Schema.

Requirement) WSDL WG should demonstrate that such schema languages within 
WSDL are implementable and there are at least two different interoperable
implementations of DTD and Relax NG type systems within WSDL.
Having actual implementations of a WSDL Generator and a
WSDL Processor which actually use these and interoperate with each 
other should be a requirement before we include them in the final 
version of the spec. If proposal A is adopted or status quo prevails, 
please record this as one of the CR exit criteria.

Received on Wednesday, 20 October 2004 18:25:35 UTC