Check out the SGML Open catalog mechanism "for interpreting external
identifiers in entity declarations". [1] The simple entity catalog format
maps PUBLIC identifiers and entity names to system filenames. (The public
text for HTML includes such a catalog. [2])
The nsgmls parser takes this one step further with an SGMLDECL catalog entry
for specifying the pathname to an SGML declaration to be used if the
document instance does not contain one. [3]
-kmc
[1] http://www.sgmlopen.org/sgml/docs/general/entity.htm
SGML Open Draft Technical Resolution 9401:1994 on "Entity Management"
[2] http://www.w3.org/hypertext/WWW/MarkUp/html-spec/catalog
[3] ftp://ftp.jclark.com/pub/sp/man/nsgmls.1
Unformatted man page for the nsgmls parser.