[
Lists Home |
Date Index |
Thread Index
]
DuCharme, Bob (LNG-CHO) scripsit:
> >start = element code {(party?, party?) & ...}
>
> I was kind of surprised that that worked, because I thought that the
> parentheses indicated that the party elements inside of the code element had
> to be contiguous.
The parens don't indicate anything but the priority of operators.
The magic is in &, which (unlike its SGML ancestor) indicates that its
arguments are to be interleaved, not merely that they can appear in either
order. So what we are describing here is content model consisting of
two streams of children (one of which contains 0, 1, or 2 party elements,
the other of which is unspecified here), whose members can be merged in
any way whatever.
So the two optional party elements must be in sequence, as indicated
by the comma (a vacuous requirement, since they are exactly the same),
but need not be contiguous.
--
And through this revolting graveyard of the universe the muffled, maddening
beating of drums, and thin, monotonous whine of blasphemous flutes from
inconceivable, unlighted chambers beyond Time; the detestable pounding
and piping whereunto dance slowly, awkwardly, and absurdly the gigantic
tenebrous ultimate gods -- the blind, voiceless, mindless gargoyles whose soul
is Nyarlathotep. (Lovecraft) John Cowan|jcowan@reutershealth.com|ccil.org/~cowan
|