[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [xri] Alternative XRI 1.1 path
One more thing I forgot to mention: this proposal deliberately allows null segments and null subsegments in the path (except in certain places where they would make other productions ambiguous.) I did this because RFC2396bis explicitly supports this, and I can't find a reason for not allowing the same thing, though producer-specific algorithms could certainly disallow all or some of these within their own domains. =Drummond -----Original Message----- From: Drummond Reed [mailto:drummond.reed@cordance.net] Sent: Monday, October 04, 2004 11:42 PM To: xri@lists.oasis-open.org Subject: [xri] Alternative XRI 1.1 path After much cogitation, I found myself agreeing with Dave that the proposed 1.1 ABNF wasn't quite taking quite strong enough a position with regard to the concept of subsegments. Since mid-summer I have been tilting towards the view that subsegments might not be a universal element of the XRI path, but only part of the authority segment. However after cooking on the proposed 1.1 ABNF for some time, I have come to agree with Dave's intuition that, while I agree that XRI 1.1 ABNF should be loose enough to accommodate almost any producer-defined algorithm in the path, it should still explicitly support the same subsegment syntax we defined in the xri-authority production. The reason is the same one we've always had in XRI 1.0, which is that the concept of delegation (like the concept of persistence or the concept of cross-references) is universal enough worthy of syntactic support at all levels of the path. In particular, it works well with another key XRI feature, cross-references, because XRI path segments can themselves be composed of multiple subsegments, each of which can be a cross-reference. So I offer the following as a first pass at how the 1.1 path might be restructured to support this. Note that it also contains adjustments to other productions above and below the path productions to make it all consistent. Also note that it includes fewer "nc" (no colon) productions following Dave's suggestion on the list that the only place we need to explicitly disallow the colon is in the xri-path-noscheme production. Otherwise a colon can appear in an XRI authority segment in XRI normal form but MUST be escaped in the transformation to IRI normal form. Since this is (to my knowledge) the last remaining XRI 1.1 issue, if we can close on it we'll be done with the ABNF and can move into the formal drafting stage. =Drummond (Note that the following has also been posted on the XRI/XDI wiki at http://xrixdi.idcommons.net/moin.cgi/Xri1dot1ProposedAbnfv2.) XRI = [ "xri://" ] xri-hier-part [ "?" xri-query ] [ "#" xri-fragment ] xri-hier-part = ( xri-authority / iauthority ) [ xri-path-absolute ] / ipath-empty XRI-reference = XRI / relative-XRI absolute-XRI = [ "xri://" ] xri-hier-part [ "?" xri-query ] relative-XRI = xri-path [ "?" xri-query ] [ "#" xri-fragment ] xri-authority = xref-authority / gcs-authority xref-authority = xref *xri-subseg gcs-authority = gcs-char xri-segment xri-path = xri-path-absolute / xri-path-noscheme / ipath-empty xri-path-absolute = "/" [ xri-segment-nz *( "/" xri-segment ) ] xri-path-noscheme = xri-subseg-od-nx *xri-subseg *( "/" xri-segment ) xri-segment = xri-subseg-od *xri-subseg xri-segment-nz = xri-subseg-od-nz *xri-subseg xri-subseg = ( "*" / "!" ) (xref / *xri-pchar) xri-subseg-od = [ "*" / "!" ] (xref / *xri-pchar) xri-subseg-od-nz = [ "*" / "!" ] (xref / 1*xri-pchar) xri-subseg-od-nx = [ "*" / "!" ] 1*xri-pchar-nc xref = "(" ( XRI-reference / IRI ) ")" gcs-char = "=" / "@" / "+" / "$" / "!" xri-pchar = xri-unreserved / pct-encoded / xri-sub-delims / ":" xri-pchar-nc = xri-unreserved / pct-encoded / xri-sub-delims xri-query = *( xri-pchar / iprivate / "/" / "?" / "@" / "(" / ")" / "!" / "$" / "*" / "+" / "=" ) xri-fragment = *( xri-pchar / "/" / "?" / "@" / "(" / ")" / "!" / "$" / "*" / "+" / "=" ) xri-reserved = xri-gen-delims / xri-sub-delims xri-gen-delims = ":" / "/" / "?" / "#" / "[" / "]" / "(" / ")" / "*" / gcs-char xri-sub-delims = "&" / ";" / "," / "'" xri-unreserved = unreserved / ucschar To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/xri/members/leave_workgroup.php .
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]