CR117 Option 1

"Jonathan Marsh" <[email protected]>
Newsgroups gmane.comp.web.services.description
Message-ID <007101c74b03$019e86e0$3501a8c0@DELLICIOUS>
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://www.wso2.com -
<http://auburnmarshes.spaces.live.com> http://auburnmarshes.spaces.live.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.