WSDL WG Last Call comments on SAWSDL

The WSDL WG has the following comments on the SAWSDL Last Call:

In section 2.1, SAWSDL says:

"In terms of the WSDL 2.0 component model, a model reference is a new
property. In particular, when used on an element that represents a WSDL 2.0
Component (e.g. wsdl:interface, wsdl:operation, top-level xsd:element,
etc.), the modelReference extension attribute introduces an OPTIONAL
property {model reference} whose value is a set of URIs taken from the value
of the attribute. The absence of the {model reference} property is equal to
its presence with an empty value."

1) Editorially, it would be nice to refer to WSDL 2.0 Components by name
instead of by their corresponding element.  Esp. in the case of xsd:*, there
is both a WSDL component and a Schema component, so by naming an xsd element
it's not clear which component one might be referring to (the context makes
it clear in this case, but still, we invented names for components, you
might as well use them!)  The same style can also apply to the last
paragraph of section 2.2.

2) Secondly, there are two ways to interpret the last sentence.  Presumably,
an empty attribute would result in the presence of an empty {model
reference} property, which would be _semantically_ equivalent to no {model
reference} property.   However, it might also be interpreted that in this
situation the property could simply be omitted from the component model.  We
had some similar text in places in WSDL that gave us a bit of a headache in
the interchange format, which requires a canonical component model.
Basically, two processors that are both SAWSDL aware might have different
component models - one might omit {model reference} and one might include it
with an empty value.  This could be dealt with in the comparison algorithm
between two component models, but we've found it easier to just define a
single clear mapping from XML to the component model.  In this case, for
instance, you could state "when non-empty and used on an element..." and
simply omit the last sentence, or you could state "The absence of the {model
reference} property is semantically equivalent to its presence with an empty
value."  The former seems cleaner to me as it doesn't augment the component
model with meaningless information.

3) Along the lines of (1), it would be nice to be explicit about the
components being annotated with properties in section 2.1.x.

4) We noticed an error in the example in Section 2.1 of the Usage Guide;
there is an extra # on the schema namespace.  Perhaps the examples should be
validated more carefully - namely by submitting them into the WSDL test
suite ;-).  Not only will that help find errors in the WSDLs, but it will
also encourage WSDL 2.0 vendors to make sure the annotations are easy to get
at in their tools.

Jonathan Marsh - -

Received on Tuesday, 24 October 2006 14:58:17 UTC