[Pipet Devel] Re: [Pipet Devel] hOpla

Brad Chapman chapmanb at arches.uga.edu
Sun Mar 26 18:37:24 EST 2000

> What do you think of this, Brad?
>  http://hopla.linuxbe.org/en/

    Well, I guess it seems to be a set of C classes to map XML -> 
relational database (PostgreSQL). It is kind of hard for me to assess 
it since there isn't much documentation and the comments in the code 
are written in French (and I only speak about 3 words of French :-)
    The thing we really need to look at is how easily we can query and 
adjust XML in a database. There is a lot of DOM manipulation and SAX 
parsing in the current code to change the XML and get info from in, 
and if we moved into a relational database scheme such as this it 
would all have to be rewritten. This might be inevitable, but if we 
have to do it, I'd rather only do it once, so we should really have a 
darn good system ready to move to before we do it. 
    I've been looking more into the shelve module (the proposal I shot 
out before), but I don't really think now that it will work. 
Apparently the files it creates are really large, and the database it 
uses to store things has a relatively low storage limit (this is just 
based on reading the comp.lang.python archives, not really on any 
actual knowledge of mine). 
    I've been thinking a lot back to the WHAX 
(http://www.seas.upenn.edu/~liefke/whax.html) research that Jennifer 
clued us in to a while back, and this just seems like the ideal system 
for what we are doing. We could maintain a huge database of all the 
xml--pull out specific documents and then query/update them using 
standard python xml tools (DOM and XML parsers) and then update them. 
It seems like we could almost have a really weak (well, not true to 
their beautiful vision) version of this if my shelve idea would work, 
or if we could think of another good way to store things in an 
analagous manner. 
    Right now I'm kind of stumped on this. Does anyone else have any 
brilliant ideas?


More information about the Pipet-Devel mailing list