- 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