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