SAX: External Entity Resolution (question 3 of 10)

James Clark jjc at
Sun Jan 4 00:31:06 GMT 1998

David Megginson wrote:

> Should SAX provide a handler for resolving external entities?
>   public String resolveEntity (String ename, String publicID, String systemID);

I don't think bundling this into the application base class is a good

I would distinguish the following capabilities:

1. Providing information to the application about entity references. 
This would be appropriate to include XmlAppBase class if it was felt
important enough.

2. Allowing public ids to be mapped to URLs.

3. Allowing URLs to be remapped.

I don't think 2 and 3 should be bundled into the XmlAppBase interface.
Rather they should be provided as a separate XmlEntityManager interface,
because I will often want to use the same XmlEntityManager
implementation with many apps, and I may want to use different
XmlEntityManager implementations with the same app.  The
XmlEntityManager I want depends on how the document is stored, and that
is independent of the document's logical structure which is what will
for the most part drive the application's processing.

For example, I might want to provide an XmlEntityManager implementation
that implements RFC 2110 and allows all the entities of an XML document
to be combined into a single multipart/related MIME body.


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at
Archived as:
To (un)subscribe, mailto:majordomo at the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at

More information about the Xml-dev mailing list