W3C home > Mailing lists > Public > www-ws-desc@w3.org > March 2007

RE: LocationTemplate-1G and 2G results

From: Jonathan Marsh <jonathan@wso2.com>
Date: Wed, 14 Mar 2007 13:33:32 -0700
To: "'keith chapman'" <keithgchapman@gmail.com>, "'Youenn Fablet'" <youenn.fablet@crf.canon.fr>
Cc: <www-ws-desc@w3.org>
Message-ID: <02da01c76678$09395750$1bac05f0$@com>
Thanks, that solves many of the problems.  The omission of * is potentially
more serious, it points out that the expected values hadn't been updated
since the resolution of the final encoding issues.  Here's an exhaustive
analysis:

 

First, as noted in
http://lists.w3.org/Archives/Public/www-ws-desc/2007Mar/0026.htmlv
<http://lists.w3.org/Archives/Public/www-ws-desc/2007Mar/0026.htmlv%20point%
206>  point 6, # isn't allowed in whttp:location.  Therefore we can remove
the two dead-code mentions of it in the encoding algorithm in 6.8.1.1:
'preceded . by a "?" or a "#" character' => 'preceded . by a "?" character'.
I'll record this as a potential erratum.

 

Second, before the ?, I believe the intention was to encode "?" and "/".
After the ?, these characters are no longer harmful, and just make common
things like URL-valued parameters unreadable.  But the spec says the
opposite - that after the "?" one must encode these values, and not encode
them prior to a "?".  This is more substantial because it affects the
expected values.  I think the WG should deal with this prior to the PR
publication, namely, at tomorrow's telcon.  I'll set the expected values
accordingly.

 

Third, the expected values don't currently capture the characters that
SHOULD be encoded.  I'll update this to have two expected values - one for
implementations that ignore the SHOULD, and one for implementations that
honor it.

 

Here's what I think the updated expected values should be (let's hope it's
finally right!) and where Canon and WSO2 fail to match the expected values
(Canon evaluated against SHOULD, WSO2 evaluated against MUST):

 

 

EncodedParameterAmp

 

Canon:
EncodedParameterAmp?data=encoded%20%22%23%25%2A/%3C%3E%3F%5B%5C%5D%5E%60%7B%
7C%7D%A3%20unencoded%20%21$%26%27%28%29%2B,%2D%2E:%3B%3D@%5F%7E&full-uri=htt
p://www%2Eexample%2Eorg:9443/&path=2007/02%3F&fragment=%23id

 

WSO2:
EncodedParameterAmp?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7B%7C%7
D%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~&full-uri=http://www.example.org:9
443/&path=http:2007/02?&fragment=%23id

 

MUST:
EncodedParameterAmp?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7B%7C%7
D%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~&full-uri=http://www.example.org:9
443/&path=2007/02&fragment=%23id

 

SHOULD:
EncodedParameterAmp?data=encoded%20%22%23%25%2A/%3C%3E?%5B%5C%5D%5E%60%7B%7C
%7D%C2%A3%20unencoded%20%21%24%26%27%28%29%2B%2C-.%3A%3B=%40_~&full-uri=http
%3A//www.example.org%3A9443/&path=2007/02&fragment=%23id

 

Encoded ParameterSemicolon

 

Canon:
EncodedParameterSemicolon?data=encoded%20%22%23%25%2A/%3C%3E%3F%5B%5C%5D%5E%
60%7B%7C%7D%A3%20unencoded%20%21$%26%27%28%29%2B,%2D%2E:%3B%3D@%5F%7E;full-u
ri=http://www%2Eexample%2Eorg:9443/;path=2007/02%3F;fragment=%23id

 

WSO2:
EncodedParameterSemicolon?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7
B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:%3B=@_~;full-uri=http://www.examp
le.org:9443/;path=http:2007/02?;fragment=%23id

 

MUST:
EncodedParameterSemicolon?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7
B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:%3B=@_~;full-uri=http://www.examp
le.org:9443/;path=2007/02;fragment=%23id

 

SHOULD:
EncodedParameterSemicolon?data=encoded%20%22%23%25%2A/%3C%3E?%5B%5C%5D%5E%60
%7B%7C%7D%C2%A3%20unencoded%20%21%24%26%27%28%29%2B%2C-.%3A%3B=%40_~;full-ur
i=http%3A//www.example.org%3A9443/;path=2007/02;fragment=%23id

 

EncodedPath 

 

Canon:
EncodedPath/encoded%20%22%23%25%2A/%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%A3%20un
encoded%20%21$%26%27%28%29%2B,%2D%2E:%3B%3D@%5F%7E/service?full-uri=http://w
ww%2Eexample%2Eorg:9443/&path=2007/02%3F&fragment=%23id

 

WSO2:
EncodedPath/encoded%20%22%23%25*%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%2
0unencoded%20!$%26%27()+,-.:;=@_~/service?full-uri=http://www.example.org:94
43/&path=http:2007/02?&fragment=%23id

 

MUST:
EncodedPath/encoded%20%22%23%25*%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%2
0unencoded%20!$%26%27()+,-.:;=@_~/service?full-uri=http://www.example.org:94
43/&path=2007/02&fragment=%23id/

 

SHOULD:
EncodedPath/encoded%20%22%23%25%2A%2F%3C%3E%3F%5B%5C%5D%5E%60%7B%7C%7D%C2%A3
%20unencoded%20%21%24%26%27%28%29%2B%2C-.%3A%3B=%40_~/service?full-uri=http%
3A//www.example.org%3A9443/& path=2007/02&fragment=%23id

 

 

Jonathan Marsh -  <http://www.wso2.com> http://www.wso2.com -
<http://auburnmarshes.spaces.live.com> http://auburnmarshes.spaces.live.com

 

From: www-ws-desc-request@w3.org [mailto:www-ws-desc-request@w3.org] On
Behalf Of keith chapman
Sent: Wednesday, March 14, 2007 7:39 AM
To: www-ws-desc@w3.org; jonathan@wso2.org
Subject: LocationTemplate-1G and 2G results

 


Attached are the results for LocationTemplate-1G and 2G results. Need to
figure out the value for the path element though. Also the * in the last
endpoint is encoded whereas its a character that SHOULD be encoded. 

Thanks,
Keith.
-- 
Keith Chapman
WSO2 Inc.
Oxygen for Web Services Developers.
http://wso2.org/ 
Received on Wednesday, 14 March 2007 20:33:43 GMT

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