SAX: Resolving entity sysids
Lars Marius Garshol
larsga at ifi.uio.no
Thu Mar 12 13:05:55 GMT 1998
I'm currently writing an SGML Open catalog parser in Python for
inclusion in a set of XML parsing tools I'm building at the moment and
I'm also writing a SAX EntityHandler to interact with the catalog
However, those SGML Open catalogs allow one to specify things like
ENTITY my-entity "sysid1"
ENTITY %my-entity "sysid2"
Which causes me grief, since SAX does not distinguish between these
two kinds of entities so there's no way to tell whether the entity
name given in the call to resolveEntity belongs to a general or
If XML does not have separate name spaces for parameter and general
entities this won't be a problem, but as far as I understand the 1.0
spec, the name spaces are separate.
One way to solve this might be to use a preceding "%" in the entity
name to signal parameter entities. Since "%"s are not allowed to start
entity names this should be sufficient. Clients that aren't interested
in the difference can just disregard the leading "%".
BTW: This is actually the first "problem" I've had with the SAX
specification. IMHO it is very clear and includes exactly what is
needed. Well done! :)
"These are, as I began, cumbersome ways / to kill a man. Simpler, direct,
and much more neat / is to see that he is living somewhere in the middle /
of the twentieth century, and leave him there." -- Edwin Brock
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;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev