This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author damien
Recipients ajaksu2, akuchling, damien, loewis, pboddie, vdupras
Date 2009-02-03.18:30:10
SpamBayes Score 0.0013835854
Marked as misclassified No
Message-id <1233685813.47.0.113293058632.issue2124@psf.upfronthosting.co.za>
In-reply-to
Content
I just ran into this problem.  I was very surprised to realize that
every time the code I was working on parsed a docbook file, it generated
several HTTP requests to oasis-open.org to fetch the docbook DTDs.

I attempted to fix the issue by adding an EntityResolver that would
cache fetched DTDs.  (The documentation on how to do this is not, by the
way, very clear.)

Unfortunately, this proves to not be possible.  The main docbook DTD
includes subsidiary DTDs using relative system identifiers.  For
example, the main DTD at:

publicId: -//OASIS//DTD DocBook V4.1//EN
systemId: http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd

...includes this second DTD:

publicId: -//OASIS//ENTITIES DocBook Notations V4.4//EN
systemId: dbnotnx.mod

The EntityResolver's resolveEntity() method is not, however, passed the
base path to resolve the relative systemId from.

This makes it impossible to properly implement a parser which caches
fetched DTDs.
History
Date User Action Args
2009-02-03 18:30:14damiensetrecipients: + damien, loewis, akuchling, pboddie, ajaksu2, vdupras
2009-02-03 18:30:13damiensetmessageid: <1233685813.47.0.113293058632.issue2124@psf.upfronthosting.co.za>
2009-02-03 18:30:11damienlinkissue2124 messages
2009-02-03 18:30:10damiencreate