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


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: DTD and Illegal Construct

> ((A, B, D?) | (A?, B, C?, D?, E))

The rule is that a parser, proceeding from left to right, should be
able to decide which symbol to match against on the basis of the
current input symbol, without lookahead.

So no disjunction of the form

  ((A, ...) | (A?, ...))

can ever be legal, because if the input starts with A the parser won't
known which branch of the disjunction to take.

My online validator, http://www.cogsci.ed.ac.uk/~richard/xml-check.html,
will check that your content models are deterministic.

-- Richard