Re: LocationTemplate-1G and 2G results

Re. "/" and "?", I don't think it's quite what the spec says. My reading 
(of the HTML edcopy dated: 2007/03/13 16:50:31; I can't access the 
latest XML, dev.w3.org is currently down) is:

- prior to "?" (i.e. "NOT preceded"), "/" and "?" get encoded, as they 
are neither in the SHOULD list (bullet 1), nor in the EXCEPT list 
(bullet 2). This is the correct behaviour.

- after "?" (i.e. "preceded"), "/" and "?" might be percent-encoded, as 
they are part of the SHOULD list (bullet 1). This is not completely 
wrong, since they might not be encoded, but an overstatement. They 
should have remained in the EXCEPT list (bullet 2).

Or am I missing something obvious?

JJ.

Jonathan Marsh wrote:
>
> 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 
> point 6 
> <http://lists.w3.org/Archives/Public/www-ws-desc/2007Mar/0026.htmlv%20point%206>, 
> # 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=http://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%7D%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~&full-uri=http://www.example.org:9443/&path=http:2007/02?&fragment=%23id
>
> MUST: 
> EncodedParameterAmp?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:;=@_~&full-uri=http://www.example.org:9443/&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-uri=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%7B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:%3B=@_~;full-uri=http://www.example.org:9443/;path=http:2007/02?;fragment=%23id
>
> MUST: 
> EncodedParameterSemicolon?data=encoded%20%22%23%25*/%3C%3E?%5B%5C%5D%5E%60%7B%7C%7D%C2%A3%20unencoded%20!$%26%27()+,-.:%3B=@_~;full-uri=http://www.example.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-uri=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%20unencoded%20%21$%26%27%28%29%2B,%2D%2E:%3B%3D@%5F%7E/service?full-uri=http://www%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%20unencoded%20!$%26%27()+,-.:;=@_~/service?full-uri=http://www.example.org:9443/&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%20unencoded%20!$%26%27()+,-.:;=@_~/service?full-uri=http://www.example.org:9443/&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://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 Thursday, 15 March 2007 09:26:58 UTC