- From: Roberto Chinnici <Roberto.Chinnici@Sun.COM>
- Date: Mon, 05 Jan 2004 16:24:10 -0800
- To: www-ws-desc@w3.org
It appears that the definition of the property component in WSDL 2.0 ([1]) does not allow the use of schema languages other than XML Schema. A quick comparison with, e.g., the message reference component ([2]) will illustrate the issue. The {message} property of a message reference component is defined as follows: {message} The element declaration resolved to by the value of the message attribute information item if present, otherwise a similar construct in some type system as referred to by some other attribute information item if present, otherwise empty. So in <input messageReference="xs:NCName"? message="xs:QName"? > <documentation />? </input> the "message" attribute is optional and it can be replaced with a different one (via extensibility). On the other hand, the {value constraint} property of a property component has this definition: {value constraint} If the constraint element information item is present, the type referred to by the value of this element information item. Otherwise, if the value element information item is present, an anonymous simple type, whose base type is "xs:anySimpleType", with a single "enumeration" facet whose value is that of the element information item. Otherwise, "xs:anySimpleType". No mention of non-XML Schema type systems here. Moreover, in <property uri="xs:QName" required="xs:boolean"? > <documentation />? [ <value /> | <constraint /> ] </property> one of <value/> or <constraint/> is REQUIRED. How would someone specify a constraint using a schema language other then XML Schema then? A possible solution is to change the syntax for <wsdl:property/> to: <property uri="xs:QName" required="xs:boolean"? value="xs:anySimpleType"? constraint="xs:QName"? > <documentation />? </property> Then the {value constraint} property would be defined as follows: - if the value attribute information item is present, an anonymous simple type, whose base type is "xs:anySimpleType", with a single "enumeration" facet whose value is that of the attribute information item; - otherwise, if the constraint attribute information item is present, the type referred to by the value of this attribute information item; (incidentally, I think here we should say "the *simple* type definition referred to by...") - otherwise a similar construct in some type system as referred to by some other attribute information item if present, - otherwise the simple type definition for xs:anySimpleType I cannot quite recall why we decided to use element information items for <value/> and <constraint/> instead of attributes. Perhaps somebody will help me remember... Happy New Year! Roberto -- Roberto Chinnici Java Web Services Sun Microsystems, Inc. roberto.chinnici@sun.com [1] http://www.w3.org/TR/wsdl20/#Property [2] http://www.w3.org/TR/wsdl20/#MessageReference
Received on Monday, 5 January 2004 19:21:33 UTC