SAX: NDATA Entities

David Megginson (ak117@freenet.carleton.ca)
Sun, 4 Jan 1998 12:50:55 -0500


Peter Murray-Rust writes:

> Should SAX report (or be prepared to report) that it has found
> documents components and skipped them? It must carry out some
> minimal parsing of the bits it ignores - perhaps "ignorable DTD".

I don't think that there should be a problem, because a notation is
not part of a document's structure -- you declare a notation in the
DTD, but in the document itself it appears directly only as the value
of an attribute of type NOTATION and indirectly as the notation
attached to an NDATA entity. In other words, there is nowhere that we
_could_ generate an event.

Your question raises another problem, however. In the case of a
NOTATION attribute, SAX will report the notation name as the attribute
value, but will not indicate that it is, in fact, a notation; in the
case of an ENTITY attribute, no information will be available through
SAX directly beyond the entity name. In other words, as proposed so
far, SAX has no provision for useful processing of NDATA entities,
since there is no way to determine the system ID of an entity, the
notation associated with an NDATA entity, or the system ID of a
notation.

=C6lfred provides and will continue to provide this information outside=

of the SAX interface -- is there a strong case for making it part of
SAX (in the XmlParser interface) or do we expect simple applications
to stick with URIs for external addressing and non-XML objects?

All the best,

David

--=20
David Megginson ak117@freenet.carleton.ca
Microstar Software Ltd. dmeggins@microstar.com
http://home.sprynet.com/sprynet/dmeggins/