W3C home > Mailing lists > Public > www-ws-desc@w3.org > May 2003

Generic Property Processor Proposal That Achieves Readability and Validation

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 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:24 GMT