Again wit da AND and Repetitions / Singletons in a DTD

roddey at us.ibm.com roddey at us.ibm.com
Mon May 17 20:51:51 BST 1999




>>But I guess the & syntax from SGML is deceptively simple.  I don't
>>completely follow that other thread, but I gather it's hard to implement
>>which is probably why they left it out of XML.
>
>No, it is not particularly hard to implement support for the AND connector
>in a validating parser. However, the AND connector is redundant, as one can
>express the same using the other connectors (although not very elegant).
>
>For example, take the content model (A & B & C) expressing that we require
>the three elements in any order. Here is the XML equivalent content model:

  [snip]

>However, there are better ways of implementing support for AND connectors
>than to convert AND content model into such tree structures. Simply make
>the parser keep track of which elements in the AND list have not yet been
>parsed. For each element encountered, remove its item from the list. Signal
>an error if the parser encounter an element not in the list of remainders,
>unless all of the remainding elements in the list are optional. Repeat
>until the list is empty or a parsed element is not in the list and all
>remainders are optional.
>

But that ignores the issue of what happens when an AND connector is embedded
deeply with some very complex content model that is otherwise totally a straight
XML type DFA! Do you then give up on doing a DFA for the entire content model
when that happens? If not, then how do you do it? If you do, then its not
terribly simple to do and its definitely not terribly quick. This gets back to
my original question of how to deal with AND.

Some of the suggestions do ok in simple situations, but are much harder if they
must be generalized to deal with arbitrarily complex content models, which they
must in the real world.



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