Again wit da AND and Repetitions

Terje Norderhaug terje at in-progress.com
Sat May 15 22:03:33 BST 1999


At 4:53 PM 5/14/99, David Brownell wrote:
>Marc.McDonald at Design-Intelligence.com wrote:
>>
>>         > XML requires deterministic content models. This allows
>>         > validators to do their job without having to look more
>>         > than one element ahead
>>         > or do brute force tree searches.
>>
>> The validator may not have to look more than 1 element ahead, but it does
>> need to look <n> elements behind or construct a tree representation for the
>> pattern due to optional elements:
>>
>> <!ELEMENT x (a? | b?)>
>> <!ELEMENT a (c,d,e,f,g)>
>> <!ELEMENT b (c,d,e,f,h)>
>>
>> With an input of elements c, d, e, f, h in element x.

Not so, this isn't like BNF.

The parser get the token for the start of the element 'x', making it use
the content model for 'x' for further parsing. If the next token is a
representation for the start of the 'a' element, it uses the content model
for 'a' for further parsing. If the next token is an 'b', it uses the
content model for the 'b' element for further parsing/validation.

>Actually, the content model for "x" is in error there, so any
>XML processor is allowed to report an error however rudely it
>chooses to do so.  That content model is "ambigious".

What you had in mind is probably a declaration like this:

<!ELEMENT x ((c,d,e,f,g)? | (c,d,e,f,h)?)>

However, this is ambigous as we won't know which sequence list we are in
after parsing the start of a x element followed by a c element. It can be
rewritten to a deterministic model though.


-- Terje <Terje at in-progress.com> | Media Design in*Progress

   Software for Mac Web Professionals at <http://www.in-progress.com>
   Take advantage of XML with Emile, the first XML editor for Mac.



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




More information about the Xml-dev mailing list