OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help

xri message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]

Subject: RE: [xri] iquery, ifragment and xref

I’m confused now. Section 2.3.2 says “To avoid this type of misinterpretation, certain characters in a cross-reference must be percent-encoded when transforming an XRI reference into IRI-normal form.” This seems to be about the rules for an XRI reference in IRI-normal form.


I’m talking about an XRI reference in XRI normal form. If I would like to embed an XRI “xri://=foo/bar#baz” in a cross reference to become:



That is legal according to the XRI syntax, but the parser (or rather the lexer component of) has a hard time recognizing the final “)” as belonging to the enclosing cross reference because when it encounters the “#”, it is consuming “ifragment” characters, which expands out to *(ipchar / “/” / “?”) in the syntax. Since “)” is part of “ipchar”, it could belong to the fragment.


The workaround I’m doing right now is to use xri-pchar instead of pchar in in iquery and ifragment, essentially creating two new productions: xri-query and xri-fragment, which is at odds with 2.2.4 and 2.2.5.



=wil (http://xri.net/=wil)



From: Drummond Reed [mailto:drummond.reed@cordance.net]
Sent: Saturday, June 10, 2006 5:36 AM
To: Tan, William; xri@lists.oasis-open.org; openxri-users@lists.sourceforge.net
Subject: RE: [xri] iquery, ifragment and xref




This problem is described in detail in section 2.3.2 of the XRI Syntax 2.0 spec. IRIs (or other XRIs) that are embedded as cross-references in an XRI will always need to be escaped so that the cross-reference itself is not ambiguous.


For example, if the actual query string in the XRI below…




…is supposed to be “baz=bar)” (not the closing paren is part of the query), then this MUST be escaped to…




Again, see the rules at the end of section 2.3.2. (I imagine these were the ones not implemented in the OpenXRI parser yet because they are, frankly, the tough ones!)




From: Tan, William [mailto:William.Tan@neustar.biz]
Sent: Friday, June 09, 2006 3:49 AM
To: xri@lists.oasis-open.org; openxri-users@lists.sourceforge.net
Subject: [xri] iquery, ifragment and xref


Hi folks,


Sorry for the cross posting. This is an issue that I encountered in the OpenXRI parser and triggered by Harry’s test case that the parser currently is not able to process:



Looking at the above example, because the identifier within the parenthesis above is an IRI, and the closing parenthesis “)” is a legal character in an IRI, the parser doesn’t know when the IRI terminates and consumes everything resulting in an IRI “http://www.openxri.org/)” and leaves the cross reference open. Ok, this is not the reason that the parser choked – it choked because IRI cross references are simply not implemented but I’ve encountered another two anomalies with the XRI syntax:


The ABNF for XRI uses IRI’s “iquery” and “ifragment” which also boils down to “sub-delims”, unlike XRI path-* productions which boil down to a much smaller “xri-sub-delims”.

This means that the parser would not be able to disambiguate:


when the query in the embedded XRI reference is “baz=bar)”.


I’m not sure if this has been discussed on the list before..


=wil (http://xri.net/=wil)




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]