Message5321

Author boisgera
Recipients boisgera, fwierzbicki, kellrott, pjac, pjenvey
Date 2009-11-23.20:31:05
SpamBayes Score 3.49647e-11
Marked as misclassified No
Message-id <1259008266.61.0.572249583898.issue1447@psf.upfronthosting.co.za>
In-reply-to
Content
Sorry, I missed the first post a few months ago, just noticed Peter's
last comment today.

Indeed the expat module included in Jython does not include the
'SetParamEntity' parser method. That alone could probably be forgiven,
as AFAICT, this method is implemented *but not documented* in CPython 2.5.

But -- wait -- this is getting worse :). I had a quick look at Biopython
and more specifically at Entrez to see why this feature was needed. I
discovered that DTD parsing is used *a lot* (for legitimate reasons) and
infortunately, the DTD parsing model of expat (say 'expat.model')
although being public API and all that has *not* been ported to Jython
so far. I fear this is a much bigger issue than the original.

So there is no quick fix. To begin with, the expat.model features should
all be implemented for Entrez to (even sort of) work ...
I used to have a look at this a while ago and stopped thinking about it
as it requires quite some serious work (I remember that expat DTD
parsing does more job than org.xml.sax that we rely on), it was not
required for the main use case (support ElementTree that does not care
about DTDs) and I was not sure that it was worth it (RelaxNG rocks,
nobody's using DTDs anyway, right ? ;)). 

I'll have a look at expat.model and see what I can do now that I know
that Biopython needs these features.

Cheers,

SB
History
Date User Action Args
2009-11-23 20:31:06boisgerasetmessageid: <1259008266.61.0.572249583898.issue1447@psf.upfronthosting.co.za>
2009-11-23 20:31:06boisgerasetrecipients: + boisgera, fwierzbicki, pjenvey, kellrott, pjac
2009-11-23 20:31:06boisgeralinkissue1447 messages
2009-11-23 20:31:05boisgeracreate