- From: Paul J. Lucas <paul@lucasmail.org>
- Date: Sun, 13 Jun 2010 09:04:37 -0700
- To: public-qt-comments@w3.org
Section 3.4.2 of the spec says:
> A question mark, asterisk, plus sign, or left curly brace that is not immediately preceded by a period is not treated as a qualifier.
>
> When "wildcards" is used, any character in a query string can be "escaped" by immediately preceding it with a backslash, "\". That is, a backslash immediately followed by any character represents that character literally, preventing any special interpretation that the "wildcards" option might otherwise attach to it. In particular:
>
> 1. Escaping a period prevents its interpretation as a wildcard.
> 2. Escaping a question mark, asterisk, plus sign, or left curly brace ensures that it is not interpreted as a qualifier.
> 3. An escaped backslash ("\\") represents a literal backslash.
> 4. If a query string is terminated by an unescaped backslash, an error is raised: [err:FTDY0020].
Assuming a given implementation's tokenizer ordinarily strips all punctuation characters (that is, when wildcards are not used), then #2 above is practically irrelevant since nobody would presumably write such a query, e.g., nobody would write:
$x contains text "anybody there\?" using wildcards
since they could just write:
$x contains text "anybody there?" using wildcards
without the backslash instead. Additionally, I assume that:
$x contains text "foo.\?bar" using wildcards
would be tokenized as:
"foo." "bar"
since the \? represents a literal '?' which would be stripped by the tokenizer. True?
- Paul
Received on Sunday, 13 June 2010 16:05:41 UTC