- From: Jacek Kopecky <jacek.kopecky@deri.org>
- Date: Thu, 08 Feb 2007 14:37:58 +0100
- To: Jonathan Marsh <jonathan@wso2.com>
- Cc: www-ws-desc@w3.org
Jonathan, is it your intention here that an encoded parameter in the path can still contain multiple path segments ('/') or even start the query string ('?')? Shouldn't / and ? be unencoded in the query, and encoded in the path? Indeed, RFC3986 allows / and ? to be unencoded in the query. This would be opposite to what you have. Jacek On Wed, 2007-02-07 at 13:57 -0800, Jonathan Marsh wrote: > Remove the text in 6.7.1.1 that reads: > > > > No percent-encoding mechanism, as defined in section 2.1 of RFC 3986, > is performed on the replacement value. > > > > Add to the bullet list in 6.7.1.1: > > > > · A template whose element name is preceded by the character > ´~ˇ is replaced by the corresponding XML element value without > additional %-encoding performed. Otherwise: > > > > A template preceded in the {http location} by a ´?ˇ or ´#ˇ character, > or an uncited parameter, is encoded as follows: Any character in the > XML value falling outside the range ALPHA | DIGIT | "-" | "." | "_" | > "~" | "!" | "$" | "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" > | ´:ˇ | ´@ˇ MUST be %-encoded. > > > > A template not preceded in the {http location} by a ´?ˇ or ´#ˇ > character is encoded as follows: Any character in the XML value > falling outside the range ALPHA | DIGIT | "-" | "." | "_" | "~" | "!" > | "$" | "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | ´:ˇ | > ´@ˇ | ´?ˇ | ´/ˇ MUST be %-encoded. > > > > %-encoding MUST be performed using the UTF-8 representation of the > character as prescribed by section 6.4 of [IRIs]. > > > > Add to the bullet list in 6.7.2.2.1: > > · Parameter values falling outside the range ALPHA | DIGIT | > "-" | "." | "_" | "~" | "!" | "$" | "&" | "'" | "(" | ")" | "*" | "+" > | "," | ";" | "=" | ´:ˇ | ´@ˇ MUST be %-encoded. %-encoding MUST be > performed using the UTF-8 representation of the character as > prescribed by section 6.4 of [IRIs]. > > > > Change the BNF (wherever we decided to stick it) to: > > > > httpLocation ::= CharData? (( openBrace | closeBrace | elementName ) > CharData?)* > > > > CharData ::= [^{}]* > > > > openBrace ::= '{{' > > > > closeBrace ::= '}}' > > > > elementName ::= rawElementName | encodedElementName > > > > rawElementName ::= '{~' NCName '}' > > > > encodedElementName ::= '{' NCName '}' > > > > > > > > Notes on this proposal: > > > > 1) This will no doubt require editorial license, For instance, see > Philippe˙s proposal for changed text for 6.7.1.1 at > http://lists.w3.org/Archives/Public/www-ws-desc/2006Sep/0034. > > > > 2) From rfc3986, within the query part or fragment the following > characters may appear without %-escaping: > > > > ALPHA | DIGIT | "-" | "." | "_" | "~" | "!" | "$" | "&" | "'" | "(" | > ")" | "*" | "+" | "," | ";" | "=" | ´:ˇ | ´@ˇ | ´/ˇ | ´?ˇ > > > > 3) From rfc3986, Within a path part the following characters may > appear without %-escaping: > > > > ALPHA | DIGIT | "-" | "." | "_" | "~" | "!" | "$" | "&" | "'" | "(" | > ")" | "*" | "+" | "," | ";" | "=" | ´:ˇ | ´@ˇ > > > > 4) Over-encoding of parameter values (encoding ´/ˇ and ´?ˇ even though > it˙s not necessary) is a possible simplification. > > > > 5) I don˙t think it makes sense escaping something other than a path > part, query parameter, or fragment, so I˙m not considering specialized > escaping in those places. > > > > 6) I believe that the encoding, and determination of whether the > template appears in the query parameter/fragment or somewhere else, > can be made independently of resolving the reference against the > {address}. Someone might want to double check this belief. > > > > > > Jonathan Marsh - http://www.wso2.com - > http://auburnmarshes.spaces.live.com > > > > > >
Received on Thursday, 8 February 2007 13:38:03 UTC