- From: Jeffrey Schlimmer <jeffsch@windows.microsoft.com>
- Date: Wed, 24 Jul 2002 16:05:15 -0700
- To: "Roberto Chinnici" <roberto.chinnici@sun.com>
- Cc: <www-ws-desc@w3.org>
Sounds reasonable. --Jeff
-----Original Message-----
From: Roberto Chinnici [mailto:roberto.chinnici@sun.com]
Sent: Thursday, July 18, 2002 9:48 AM
To: Jeffrey Schlimmer
Cc: www-ws-desc@w3.org
Subject: Re: Hoisting SOAP Binding Attributes
Jeffrey,
I like the idea of being able to specify defaults for these common
attributes.
My main remak is that allowing these attributes to be specified on every
element under <soap:binding/> seems to be overkill.
Since it's hard for people to track the current value of an attribute
that may
change as they move from a parent element to a child as well as from an
element to a sibling, I suspect that most people would end up using this
facility only for coarse-grained defaulting of values.
As a proof of this, look at how namespace declarations are used in XML
and especially at how hard it can be to follow the prefix-to-namespace
associations when the same prefix is bound to different namespaces at
various points in a document.
So my proposal is to follow roughly the approach used by XML Schema
and define attributes called
styleDefault
useDefault
encodingStyleDefault
namespaceDefault
that would be allowed only on the <soap:binding/> attribute.
Then, e.g. a missing "use" attribute on any element under
<soap:binding/>
would default to the value of the "useDefault" attribute on the
<soap:binding/>
element only (if present).
This way the information that someone reading WSDL would need to
keep in mind when examining a <soap:binding/> would simply be the value
of the four default attributes and those wouldn't change with the level
of
nesting under <soap:binding/>.
In the examples you used, the two proposals would be entirely
equivalent.
Here's what the bindings would look like with the xyzDefault attributes:
<binding name="StockQuoteSoapBinding"
type="tns:StockQuotePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
styleDefault="rpc"
useDefault="encoded"
encodingStyleDefault="http://schemas.xmlsoap.org/soap/encoding/"
namespaceDefault="http://example.com/stockquote" />
</binding>
<binding name="StockQuoteSoapBinding"
type="tns:StockQuotePortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
styleDefault="document"
useDefault="literal" />
</binding>
...
Received on Wednesday, 24 July 2002 19:05:58 UTC