From: Steve C. <ste...@mq...> - 2001-08-02 00:24:32
|
On Tuesday 31 July 2001 01:09, Andreas Kupries wrote: > > > Jeff Hobbs has just indicated that Active State is on this trail. > > I know so far that the package description format used here is XML > based. The base DTD is 'OSD' (see http://www.w3.org/TR/NOTE-OSD.html) > with some extensions to it. To answer questions beyond this I will > have to read up on our documents and whitepapers about PPM. I've had a look at the PPM format and I think I agree now that using an XML based format is the way to go especially since there is some momentum behind this particular package description format. The first thing that strikes me is that the OSD DTD is a little sparse, PPM has extended it with the <perlcore> tag to indicate the version of perl needed by an extension, we would want to do similar I guess for Tcl versions (although I think you could use the <depends> tag for that purpose). For those who haven't seen, here's a sample ppd description of a package: <?xml version="1.0" standalone="yes"?> <!DOCTYPE SOFTPKG SYSTEM "ppd.dtd" > <SOFTPKG NAME="tcllib"> <TITLE>The Standard Tcl Library</TITLE> <ABSTRACT>This package is intended to be a collection of Tcl packages that provide utility functions useful to a large collection of Tcl programmers.</ABSTRACT> <AUTHOR>Various</AUTHOR> <LICENSE HREF="http://url.of.the.license/license.terms"/> <DEPENDENCY VERSION="8.3.3" NAME="tcl"/> <IMPLEMENTATION> <LANGUAGE VALUE="tcl"/> <CODEBASE HREF="http://www.shlrc.mq.edu.au/~steve/tcl/extensions/tcllib1.0.zip"/> <INSTALL> <!-- put code here to install the package after download --> </INSTALL> <UNINSTALL> <!-- put code here to uninstall the package --> </UNINSTALL> </IMPLEMENTATION> </SOFTPKG> One shortcoming I can see is in the meta data - a single unstructured <AUTHOR> tag, however this isn't too much of an issue. RDF would provide a better solution here and in general might be a better answer than OSD since it is designed to be extensible from the outset. AS use the INSTALL and UNINSTALL tags to include commands for making packages and installing them, eg perl Makefile.pl; make; make install. We could do the same for Tcl with the corresponding TEA invocations but the since Stubs makes distributing tcl extensions as binaries much more feasable, I wonder if we need this? Peter, Steve, how about whipping up a tcl-xml module to parse this and give us access to the relevant parts? Steve |