[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]