At 02:24 PM 7/31/2001 -0400, Clark C . Evans wrote:
Hmm.  Perhaps Oren is on the right track with the [..] mechanism
and using Color metaphor to a greater extent.  In particular,
if we look at this this way... we have the following colors:

  !  Class
  #  Comment
  &  Anchor

Yep.  Anchor isn't a node type, it is a color.  With the colored
glasses... why didn't I see this before?   Hmm.  Perhaps I'm wrong
to backtrack from the coloring mechanism? 

I also like Oren's proposal, but the difference in syntax isn't that significant.  I think it's just a matter of whether a thing goes in the brackets or not.

However, it could greatly simplify the relevant portions of the BNF.  The productions would just do this:

attribute ::= '[' S? (akey ':' avalue S?)+ ']' {C1}
akey ::= [&*!%]
avalue ::= <whatever>

Constraint {C1} says that no akey may occur more than once.  Additional constraints may indicate which akeys are valid for which nodes, and which combinations of akeys are valid.  This is not something that the productions should reflect, as it makes them hard to read.

Providing the mechanism does give us an official place to put extensions, even if every new extension introduces yet another cryptic identifier.  Perhaps some things could be expressed with English keywords?

Ok.  I have "work" to do.  And my brain hurts.

I'm sorry, I know my posts are making it even harder on you.

~joe