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: [xml-dev] Ambiguous Content Model

From: "Mark Endicott" <MEndicott@telapoint.com>
> It appears to me that (A,B)*, A? isn't impossible. Wouldn't this lead to the
> following list of possible child elements?
> (no children)
> A
> A, B
> A, B, A
> A, B, A, B
> A, B, A, B, A
> ...
The ambiguity comes from a restriction which lets us use simple state machines
to implement parsing a content model: we read one element and decide which
state to go to next.  

If the grammar at the top is implemented as a state machine, the first
transition has two A choices: this is ambiguity.

There are various things we could do:  we could take the lexically first choice
in content model; we could rewrite the ambiguous content model into an
unambiguous one (often not difficult); we could allow a lookahead to the
possible states after the current As and then lookahead in the document
to the element after the current one; we could implement a weaker
validation which allows (a, b?)*. 

Or we could give up the ambiguity restruction and implement a different kind of 
validator: for example instead of a state machine, we could use a Petri net
and follow multiple paths.  

Rick Jelliffe