- From: Hugo Haas <hugo@w3.org>
- Date: Fri, 1 Apr 2005 15:39:43 +0200
- To: Charlton Barreto <cbarreto@webmethods.com>
- Cc: W3C WSDL Group <www-ws-desc@w3.org>
- Message-ID: <20050401133943.GA5095@w3.org>
* Charlton Barreto <cbarreto@webmethods.com> [2005-03-31 07:01-0800]
> In issue LC69a [1], it was raised that for
> "application/x-www-form-urlencoded" serialization, escaping must be
> defined as per XForms. As such, either the ampersand (&) or semi-colon
> (;) must be supported for use as the query parameter separator, with
> semi-colon as the default [2].
I took an action item to investigate why we had removed the query
parameter separator in the first place.
The previous text was the following:
http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/Attic/wsdl20-bindings.html?rev=1.26&content-type=text/html;%20charset=utf-8#_http_operation_separator
The decision was taken to get rid of this parameter on 21 May 2004:
[[
Proposal to remove the separator property from the http binding.
Accepted as that's not variable per html defined form url encoding
style which we are using.
]]
-- http://lists.w3.org/Archives/Public/www-ws-desc/2004May/0073.html
So, at the time, we were under the impression that only '&' was valid,
based on the definition of application/x-www-form-urlencoded in the
HTML specification (and not the URI specification as I said yesterday
on the call):
http://www.w3.org/TR/html4/interact/forms.html#didx-applicationx-www-form-urlencoded
However, we use the definition from the XForms specification:
http://www.w3.org/TR/2003/REC-xforms-20031014/slice11.html#serialize-urlencode
XForms does have a query parameter separator knob indeed, so we did
the wrong thing in removing it in the first place.
Comments about the proposed solution:
> To resolve this we require a mechanism to signal the separator at the
> operation level. As such I propose to add the following text to the
> last paragraph of Section 5.8.1:
>
> "In this serialization, the value of the {http query parameter
> separator} is used to specify the valid separator character for
> name-value pairs in urlencoding."
>
> and I propose adding the following section as appropriate in the HTTP
> binding spec:
>
> The HTTP binding specification adds the following property to the WSDL
> component model (as defined in [WSDL 2.0 Core Language]):
>
> * {http query parameter separator}, a xs:string to the Operation
> component.
>
> XML Representation
> <description>
> <binding name="xs:NCName" interface="xs:QName"? type="xs:anyURI"
> whttp:queryParameterSeparatorDefault="xs:string"?>
> <operation whttp:location="xs:anyURI"?
> whttp: queryParameterSeparator="xs:string" ?>
> </operation>
> </binding>
> </description>
>
> The XML representation for specifying the default query parameter
> separator is an OPTIONAL attribute information item for the binding
> element information item with the following Infoset properties:
>
> * A [local name] of queryParameterSeparatorDefault
> * A [namespace name] of "http://www.w3.org/@@@@/@@/wsdl/http"
> * A type of xs:string
XForms defines it as a separator character. Shouldn't we restrict the
length to 1?
> * A default value of '&'
The default for XForms is ';'. I do not know why they didn't pick '&'
which seems to be the most widespread and natural separator used, but
if we're aligning ourselves on XForms, it probably makes sense to use
the same default value.
[..]
> [1] http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC69a
> [2] http://www.w3.org/TR/xforms/slice3.html#structure-model-submission
Cheers,
Hugo
--
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/
Received on Friday, 1 April 2005 13:39:45 UTC