- From: Jonathan Marsh <jonathan@wso2.com>
- Date: Tue, 24 Oct 2006 07:58:20 -0700
- To: <public-ws-semann-comments@w3.org>
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 - http://www.wso2.com - http://auburnmarshes.spaces.live.com
Received on Tuesday, 24 October 2006 14:58:17 UTC