Lists Home |
Date Index |
- From: firstname.lastname@example.org (Terje Norderhaug)
- To: email@example.com
- Date: Sat, 15 May 1999 13:06:07 -0700
At 4:53 PM 5/14/99, David Brownell 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@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:firstname.lastname@example.org
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:email@example.com the following message;
To subscribe to the digests, mailto:firstname.lastname@example.org the following message;
List coordinator, Henry Rzepa (mailto:email@example.com)