This is a request for a new standard feature to be
allocated from the "http://xml.org/sax/features/"
When this feature is set to "true", calls to
DTDHandler::unparsedEntityDecl will be changed to
*NOT* turn system identifiers that are relative URLs
into absolute URLs.
Note that, according to the SAX 2.0 spec,
DeclHandler::externalEntityDecl already have this
There are two prime motivations for this request.
1) This aligns SAX closer with the W3C CR: XML
Information Set  which requires the value of system
identifiers to be made available for:
-2.5. Unexpanded Entity Reference Information Items
-2.8. The Document Type Declaration Information Item
-2.9. Unparsed Entity Information Items
-2.10. Notation Information Items
2) The OASIS ERTC  are working on an XML Catalog
specification which recommends processors should use
an unmodified system identifier for comparison with
catalog entries. It is not currently possible to
implement this using SAX 2.0.
This proposal does not cater for another inportant
information item: baseURI which is also required by
the XML Information Set.
Ideally a new interface should be defined which
provides this, e.g.
resolveEntity(name, publicId, systemId, baseURI).
In the meantime, the baseURI could be made available
as a property.
This will be the subject of another enhancement
request in due course.
Note: this property is not available using
Locator::getSystemId() because the baseURI is
determined by the entity in effect when the "<" of the
entity declaration was read. This is not the value
returned from the Locator.