- From: Arthur Ryman <ryman@ca.ibm.com>
- Date: Wed, 14 May 2003 06:11:53 -0400
- To: www-ws-desc@w3.org
- Message-ID: <OFAF510BC3.84685BB4-ON85256D26.003435BA@torolab.ibm.com>
Glen et al [1] are prosing a generic syntax for specifying property values in WSDL, e.g. <property uri='http://www.w3.org/2002/12/soap/features/action/Action'> <value>http://example.com/GetLastTradePrice</value> </property> The Glen proposal has the advantage that it enables generic processing of properties, but it has the disadvantage of being less readable and not allowing validation of the property value based on the property name. The simpler syntax is: <sa:Action>http://example.com/GetLastTradePrice</sa:Action> where previously in the document the sa namespace prefix has been set and there is a schema for it, which would define, e.g. that the content of the Action element is xsd:anyURI. We can achieve generic property processing and have good readability and validation if we borrow the approach used by WebDAV properties. The solution is to have a standard mapping frorm the property name URI to a QName: WebDAV compliant XML processors MUST interpret a qualified name as a URI constructed by appending the LocalPart to the namespace name URI. [2] In this example, we have: http://www.w3.org/2002/12/soap/features/action/Action maps to <sa:Action xmlns:sa="http://www.w3.org/2002/12/soap/features/action/"> The namespace URI would be associated with an XSD schema in the usual way. Control over where elements may appear in the WSDL document can be achieved via substitution groups or whatever mechnanism is currently intended for controlling the placement of other extension elements. The only new WSDL construct we need to enable generic property processing is something that identifies a given namespace URI as defining a property schema, e.g. <wsdl:propertySchema namespace="http://www.w3.org/2002/12/soap/features/action/Action"/> These propertySchema declarations would be placed near the start of the document, perhaps following <import>. A WSDL processor would treat elements from the declared namespaces as properties. QED [1] http://lists.w3.org/Archives/Public/public-ws-pnf-tf/2003May/0001.html [2] http://asg.web.cmu.edu/rfc/rfc2518.html#sec-23.4.2 Arthur Ryman
Received on Wednesday, 14 May 2003 06:12:01 UTC