- 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 UTC