- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Thu, 02 Feb 2012 22:27:14 +0000
- To: public-rdf-wg@w3.org
On 02/02/12 18:59, Alex Hall wrote: > I have a couple of questions about character escapes in the local part > of Turtle prefixed names > (http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/index.html#sec-grammar): > > [57] <PN_LOCAL> ::= ( PN_CHARS_U | [0-9] | PLX ) (( (( PN_CHARS | > "." | PLX ))* ( PN_CHARS | PLX ) ))? > [58] <PLX> ::= PERCENT | PN_LOCAL_ESC > [59] <PERCENT> ::= "%" HEX HEX > [60] <HEX> ::= [0-9] | [A-F] | [a-f] > [61] <PN_LOCAL_ESC> ::= "\\" ( "_" | "~" | "." | "-" | "!" | "quot; | > "&" | "'" | "(" | ")" | "*" | "+" | "," | ";" | "=" | ":" | "/" | "?" | > "#" | "@" | "%" ) > > 1. I'm a bit confused about the inclusion of %-encoded octets. It's not > intended that the pname expansion also decode these octets, is it? (/me speaking as SPARQL grammar creator) No. xyz:ab%20de will put 3 characters %-2-0 into the IRI. Never space. And IRIs still have to be legal, so no <http://example/#a#b> even if it passes the token rule. > e.g. given a prefix ':' for the namespace 'http://example.com/', the > prefixed name ':foo%2Fbar' expands to the IRI > 'http://example.com/foo%29bar' and not 'http://example.com/foo/bar', > correct? Correct (in SPARQL) It's made complicated because RFC 3986 sec 2.3 unreserved characters """ URIs that differ in the replacement of an unreserved character with its corresponding percent-encoded US-ASCII octet are equivalent: they identify the same resource. """ """ For consistency, percent-encoded octets in the ranges of ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period (%2E), underscore (%5F), or tilde (%7E) should not be created by URI producers and, when found in a URI, should be decoded to their corresponding unreserved characters by URI normalizers. """ so not Turtle but maybe somewhere else. > 2. Is the use of "\\" at the start of a character escape sequence a > formatting bug in the document? Character escapes use a single > backslash, right? Looks like copy-over from yacker. Eric!!!!!! > On an unrelated note, section 5.1 starts off with the sentence "Parsing > Turtle requires a state of four items:" but the ensuing list has five items. Open world assumption? :-) > > -Alex > Andy
Received on Thursday, 2 February 2012 22:27:41 UTC