Again wit da AND and Repetitions

Robert C. Lyons boblyons at
Fri May 14 16:17:32 BST 1999

John Cowan wrote:
     "IIRC the canonical way of doing (A & B & C) is to transform it
into (A | B | C)* and then do a post-check that each of A, B, C
appears exactly once.  ..."

It seems that this approach would require the parser to perform look ahead 
for the following content model:
( (A & B & C), C, C, C )

This content model would be transformed into: ( (A | B | C)*, C, C, C )

The transformed content model is non-deterministic. For example, the 
parser would have to look ahead when parsing the first C in the following 
    C B A C C C

The original content model is deterministic; the parser would not have to
look ahead to determine that the first C (in C B A C C C) matches 
the (A & B & C) portion of the original content model.


Bob Lyons
EC Consultant
Unidex Inc.
boblyons at

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as: and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list