External DTD Grammar

John Cowan cowan at locke.ccil.org
Tue Aug 4 21:43:15 BST 1998

Chris Hubick wrote:

>         Because you can use a PEReferences to form a PEDecl, and you
> need to have processed a PEDecl before a PEReference to it can be
> processed.  So I can't just scroll (unidirectionally) through a whole
> document just processing PEReferences, because I need to have processed
> the PEDecl's for those first, and I cant just scroll through processing
> PEDecl's, because they could be created using PEReferences.  All I am
> saying is that this is hard, not easy.

This lends itself perfectly to the standard approach for preprocessors
like the C preprocessor, but is even simpler because there are no
macro arguments and no recursions.  The only requirement is that no
PE be used before it is defined, which is guaranteed by the WFC
and VC named "Entity Declared".

A lower "lexical" level detects PE references,
looks up the replacement text in a table, and returns it instead.
Replacement texts can't contain PE references (PE declarations can,
but the references are resolved at entity declaration time), so it isn't
even necessary to push back the replacement text onto the input stream.

A higher "syntactic" level processes PE declarations (from which
PE references have already been removed) and enters the replacement
text in the lookup table used by the lower level.  Everything not
a PE declaration is sent to the output stream.

John Cowan	http://www.ccil.org/~cowan		cowan at ccil.org
	You tollerday donsk?  N.  You tolkatiff scowegian?  Nn.
	You spigotty anglease?  Nnn.  You phonio saxo?  Nnnn.
		Clear all so!  'Tis a Jute.... (Finnegans Wake 16.5)

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/
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