Galax in Debian
version 0.9.9 in experimental / NEW
Executive summary: Galax (a fast XQuery implementation with support for static typing) is now in Debian.
After my introductory post on XQuery and how to use it in Debian I've got motivated again in finishing the Debian packaging of Galax. (Or was the motivation coming from the fact that Saxon-B is terribly slow and also the annoying thought that one has to pay for extra-optimizations and static typing?)
Galax, on the contrary, is really fast, Schema-aware, and supports static typing out of the box (you won't discover too late that you've added an integer to a string-valued node).
Galax is now (almost) in Debian: yesterday I've uploaded version
0.9.9 to experimental, but of course it will need to pass through
NEW before being available to the public. In the meantime it is
available from my repository, here's the needed
sources.list
line:
deb http://people.debian.org/~zack/debian unstable main
in case you wanna look at the source package you can do one of:
$ dget http://people.debian.org/~zack/debian/pool/galax_0.9.9-1.dsc
$ debcheckout svn://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/galax/trunk
Getting started with Galax
Mini howto for evaluating XQuery queries with Galax:
# aptitude install galax
$ cat sample.xq
<bookshelf>
{ for $book in doc('books.xml')//book
where
some $surname in $book/author/last
satisfies $surname eq "Stevens"
return <title> { xs:string($book/title) } </title> }
</bookshelf>
$ head -n 7 books.xml
<bib>
<book year="1994">
<title>TCP/IP Illustrated</title>
<author><last>Stevens</last><first>W.</first></author>
<publisher>Addison-Wesley</publisher>
<price>65.95</price>
</book>
$ galax-run sample.xq | xmllint --format -
<?xml version="1.0"?>
<bookshelf>
<title>TCP/IP Illustrated</title>
<title>Advanced Programming in the UNIX Environment</title>
</bookshelf>
The galax-doc
package contains much more
documentation of course ...
PS this evening I'll travel to Paris,
where I'll be for a week, moving to FOSDEM for the week-end. Drop
me a note if you want to get in touch for
beer/keysigning/whatever.