From: Martin B. <mjb...@li...> - 2003-11-05 12:54:23
|
Hello everybody! Over the last few months I and others have been gradually working on the method database, and it's looking pretty good at the moment. Firstly, we have come up with a draft XML format for methods. This was put together mostly by Richard Smith and me, with input from some others. An XML Schema is in "method.xsd" on the CVS repository, and some text describing it in "method.xsd.txt". If you've forgotten where the repository is, you can browse it here: <http://cvs.sourceforge.net/viewcvs.py/ringing-lib/methods/> The good news is that the Methods Committee are taking an interest. They want to have a standard XML reprentation of methods, and may be going to use our draft as a base for their proposals. I think that we should make sure that the database supports whatever they finally come up with; in the meantime we can support our draft. I'd appreciate any comments anybody might have on the draft, and so would the MC. Secondly, I've just about finished the code for getting XML data out of the database. I've abstracted the hard work into a Perl module, called DBIx::XMLServer, which I'll release on CPAN as soon as I've done a bit more documentation and testing. You can find it at <http://sf.net/projects/dbix-xmlserver>. Using this module, our web site only has to have an XML file describing the mapping from the database to the XML document. You can see how it all works by looking at the code in CVS. The only slight annoyance is that the generated XML has quite a few unnecessary namespace declarations, but that's really a cosmetic thing. So, what now? - Tidy up a few things like lead heads which don't quite work at the moment. - Put an HTML front end on top of the XML, so that people can browse the database from the web site. - Get scripts in place to keep the database up to date. - Develop a few client-side interfaces so that programmers will use our database in their programs. - Think about the `complicated' interface which will be a safe way for clients to execute almost arbitrary SQL statements on the database. Probably loads more stuff as well. Martin -- Martin Bright Department of Mathematical Sciences, University of Liverpool |