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

 


Help: OASIS Mailing Lists Help | MarkMail Help

xdi message

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


Subject: SECOND STRAWMAN from Drummond and Markus - please vote ASAP


Ladies and gentlemen:

In keeping with the goal of putting a syntax stake in the ground before sundown today, Markus and I have processed feedback on the previous strawman, including Joseph's analysis, and as a result have a new strawman to propose.

It has been posted to https://wiki.oasis-open.org/xdi/XdiSyntaxExamples and is also copied below.

Once again, please respond ASAP with one of two replies:
  1. Yes, I like it.
  2. No, here's what I'd like to change.
=Drummond 


New Proposed Strawman to Test for Consensus

Rationale

  1. Multiple symbol characters may be easy for machines but is hard for humans to parse no matter what we do. So this proposal follows a new rule: context symbols are never used in pairs. The solution is to reintroduce brackets, but used slightly differently than before.

  2. The use of brackets is also consistent with Joseph's analysis.

  3. Per earlier proposals, angle brackets < > that wrap the context identifier are used to indicate attributes.

  4. Square brackets [ ] that wrap the context identifier are used to indicate singletons.

  5. If a node is both an attribute and a singleton, the square brackets wrap the angle brackets, e.g., [< >].

  6. Since symbols never appear more than once, the question of symbol ordering goes away.
  7. Definitions use the $ metaclass and a cross-reference to the term being defined (or the authority for the definition). This is consistent both with the role of $ as the reserved symbol for metaclass and the use of cross-references to reuse identifiers in a different context -- in this case the dictionary context. It also is consistent with the rule that all context symbols never appear in pairs.

Example

=markus[<+email>]/$ref/
   =markus<+email>!:uuid:9ce739f0-7665-11e2-bcfd-0800200c0002
=markus+home[<email>]/$ref/
   =markus<+email>!:uuid:f81d4fae-7dec-11d0-a765-00a0c91e0001
=markus+work[<+email>]/$ref/
   =markus<+email>!:uuid:9ce739f0-7665-11e2-bcfd-0800200c0002
=markus<+email>!:uuid:f81d4fae-7dec-11d0-a765-00a0c91e0001:/:/
   "ms@example.com"
=markus<+email>!:uuid:9ce739f0-7665-11e2-bcfd-0800200c0002:/:/
   "markus@example.net"
=markus<+email>!:uuid:9ce739f0-7665-11e2-bcfd-0800200c0002$[<$t>]:/:/
   "2013-04-11T10:11:12Z"
=markus+address!:uuid:3a96e460-7be9-11e2-b92a-0800200c0003<+street>#1:/:/
   "123 Main St"
=markus+address!:uuid:3a96e460-7be9-11e2-b92a-0800200c0003<+street>#2:/:/
   "Apt 23"
=markus+address!:uuid:3a96e460-7be9-11e2-b92a-0800200c0003[<+city>]:/:/
   "Vienna"
=markus+address!:uuid:3a96e460-7be9-11e2-b92a-0800200c0003[<+country>]:/:/
   "Austria"
=markus+address!:uuid:3a96e460-7be9-11e2-b92a-0800200c0003$[<$t>]:/:/
   "2013-04-11T10:11:12Z"
$(<+email>)/$is+/
   $string
$(+address)$(+street)[<$label>]:/:/
   "Street"
$(@example)$(<+email>)<$xbnf>#1:/:/
   "1*DIGIT '@example.com'"



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