- From: Mark Nottingham <mark.nottingham@bea.com>
- Date: Mon, 14 Jun 2004 17:05:40 -0700
- To: www-ws-desc@w3.org
Issue 225 [1] points out that WSDL 2.0 requires that messages be
modelled as XML Infosets. Jonathan proposes:
[[[
WG had previously agreed (informally?) that WSDL only describes XML
Web services. Other type systems are limited to those that support XML
elements. Status quo proposal: reconfirm that decision, and explain the
limitations on extensible type systems in the spec.
]]]
I'd like to push back against the status quo.
I believe that, with a few small changes, WSDL can accommodate other
data models in the future, without putting any burden on implementers
today, and without making the spec any less clear or tight. WSDL
already accommodates other type systems; this would just allow for type
systems based on data models other than the Infoset.
A prime example of this is RDF. I find it completely plausible (and, in
some cases, advantageous; see [2][3]) to model data using RDF Schema.
Although RDF/XML is an XML serialisation of the RDF data model, RDF
itself doesn't describe "the [local name], [namespace name],
[attributes] and [children] properties of an element information
item." Should RDF Schema be either disallowed from describing WSDL
messages, or forced to unnaturally contort itself somehow to fit into
an Infoset data model?
Similarly, the Internet Media Type system is far more prevalent than
XML, and it's easy to imagine cases where people would want to describe
non-XML Web services and sites using WSDL. Why should they be forced
into modelling their data as an Infoset?
The only changes that I see as necessary to allow alternate data models
are:
1) Section 2.1.1 - remove this sentence: "They define the [local name],
[namespace name], [children] and [attributes] properties of an element
information item." and remove this clause from the final bullet: "each
one isomorphic to a global element declaration as defined by XML
Schema"
2) Table 2-1 - change the mapping of {element declarations} from:
""" The element declaration components corresponding to all the
element declarations defined as descendants of the types element
information item, if any, plus any imported element definitions. At a
minimum this will include all the global element declarations defined
by XML Schema element element information items. It MAY also include
any definition from some other type system which describes the [local
name], [namespace name], [attributes] and [children] properties of an
element information item."""
to:
""" The content declaration components corresponding to the content
declarations defined as descendants of the types element information
item, if any, plus any imported content definitions."""
3) Section 3 - remove this sentence: "At the abstract level, the
{element declarations} property of The Definitions Component is a
collection of imported and embedded schema components. "
4) Throughout - Change instances of "element declaration" to "content
declaration", the {element} property to {content}, and instances of the
"element" Attribute Information Item to "content".
5) In the Bindings section, note that bindings should enumerate the
data models that they can serialise into concrete messages.
1.
http://dev.w3.org/cvsweb/%7Echeckout%7E/2002/ws/desc/issues/wsd-
issues.html#x225
2. http://www.mnot.net/blog/2004/05/12/on_infosets
3. http://www.mnot.net/blog/2004/05/28/other_data_models
--
Mark Nottingham Principal Technologist
Office of the CTO BEA Systems
Received on Monday, 14 June 2004 20:05:50 UTC