an XML-based approach for maintaining the libraries page

Peter Simons simons@cryp.to
18 Jun 2003 01:00:10 +0200


Hi,

in the light of the recent discussion on how to maintain
haskell.org/libraries/, I played a bit with an XML-based approach. The
idea is that a document like this

    <?xml version="1.0"?>
    <!DOCTYPE catalog SYSTEM "dtd/library-catalog.dtd">

    <catalog>
      <section>
        <title>Program Development</title>

        <library>
          <name>hmake</name>
          <homepage>http://www.cs.york.ac.uk/fp/hmake/</homepage>
          <shortdesc>a Haskell-aware replacement for make</shortdesc>
          <desc>
            <p>Automatically keeps track of module dependencies (i.e. no
    need to write any Makefiles!). Can be used with any of the usual
    Haskell compilers (ghc, hbc, nhc98).</p>
          </desc>
        </library>
      </section>

    </catalog>

describes the whole set of known libraries. A small program written
using HaXml can then convert that into the HTML page.

A prototype doing all that can be found here:

    http://peti.cryp.to/libcat-src.tar.gz

Included in the archive is the DTD for the XML document, the tools to
convert this to HTML, and a sample Makefile, which should work with
ghc and nhc98, if you have HaXml installed.

IMHO this could be a step towards defining a generic package
description format. Obviously, additional information could be added
to the DTD as well. The components, which make up the whole document,
could be fetched via PUBLIC entities from all over the world and could
be maintained in a decentralized way. Or you could let the authors
maintain them via a simple CGI front-end.

Well, any thoughts on this?

Peter