Today we release 4Suite 1.0 beta 1, now available from Sourceforge and ftp.4suite.org.
Highlights of changes -- * Minor to huge performance increases throughout the core libraries: * Ft.Lib.Set implemented in C, resulting in faster evaluation of XPath expressions using '/', '//', and '|') * 40x speedup in startup time for Domlette parsing * Additional optimization of XPath expressions involving '/', '//', 'child::' and others * .docindex removed from Domlette nodes; they now compare to each other in document order (e.g., when in a list, .sort() can be called for document order). Resulting XPath/XSLT speedup * XSLT whitespace stripping optimized; xml:space handling fixed * XML string utilities now in module Ft.Xml.Lib.XmlString, implemented in C, as part of Domlette optimizations * Mini-SAX interface added to the Domlette Expat library, via Ft.Xml.Sax. The "mini" is due to the fact that only the interfaces required for parsing XSLT stylesheets are exposed. * XML catalogs and XSLT stylesheets now read via the fast mini-SAX API * Many more Domlette speed and memory optimizations * RDF core: various optimizations result in speedup of RDF completes and faster database access * RDF core: better Unicode handling; improvements to the way statements are printed, compared, iterated over, reified, serialized/deserialized * RDF core: optimized RDFS validation (90% speedup plus other optimizations) plus updated to current standard * XML core: Ft.Xml.MarkupWriter introduced--very friendly interface for generating XML content based on the XSLT writers, but adding convenience methods for common element creation patterns, and for inserting chunks of "literal" markup * XML core: FtMiniDom removed * XML core: All dependencies on PyExpat removed * XML core: Domlette nodes have new attributes: * xpathNamespaces, a dict of in-scope namespaces * xpathAttributes, the node's attributes, not counting those for namespace bindings * Environment variable XML_CATALOG_FILES now supported * XPath: extension functions that access the underlying OS are now disabled by default (e.g., f:spawnv(), f:system(), f:env-var()) * In Ft.Lib.Uri.OsPathToUri and UriToOsPath, attemptAbsolute now defaults to True * XLink: xlink:show='replace' behaves more usefully & sensibly * BerkeleyDB (bsddb) RDF and repository drivers added (Py 2.3+ only) * MySQL RDF and repository drivers optimized * Repository: XSLT DocDefs repository can now use extension functions/elements * Repository: better handling of external entity resolution * Doc generation issues resolved. API docs can now be generated for every module in 4Suite (various * XHTML 1.0 Transitional DTD added to default catalog * Many more bug fixes and enhancements. See also http://uche.ogbuji.net/tech/akara/? xslt=irc.xslt&date=2005-04-11#03:52:25 4Suite is a comprehensive platform for XML and RDF processing, with base libraries and a server framework. It is implemented in Python and C, and provides Python and XSLT APIs, Web and command line interfaces. For general information, see: http://4suite.org http://uche.ogbuji.net/tech/4Suite/ http://uche.ogbuji.net/tech/akara/nodes/2003-01-01/4suite-section For the files, see: ftp://ftp.4suite.org/pub/4Suite/ Sources: ftp://ftp.4suite.org/pub/4Suite/4Suite-1.0b1.tar.gz Windows installer: ftp://ftp.4suite.org/pub/4Suite/4Suite-1.0b1.win32-py2.2.exe ftp://ftp.4suite.org/pub/4Suite/4Suite-1.0b1.win32-py2.3.exe ftp://ftp.4suite.org/pub/4Suite/4Suite-1.0b1.win32-py2.4.exe Windows zip: ftp://ftp.4suite.org/pub/4Suite/4Suite-1.0b1.zip You can also get the files on Sourceforge: https://sourceforge.net/projects/foursuite/ https://sourceforge.net/project/showfiles.php?group_id=39954 Documentation: In the locations specified above, with filenames of the form 4Suite-docs-1.0b1.* Release notes -- If you have built a 4Suite repository using an older version of 4Suite, you will probably have to make adjustments for this new release. If you used 0.12.0a3, or a more recent version, then you will have to follow the migration instructions detailed in the following message: http://lists.fourthought.com/pipermail/4suite/2004-October/012933.html In general, it's worth being familiar with the following document: http://uche.ogbuji.net/tech/akara/nodes/2003-01-01/backup There have been on and off problems for Mac OS X users. We think these are now resolved. Please see the following page for current status, notes and recommendations: http://uche.ogbuji.net/tech/akara/nodes/2003-01-01/osx Installation locations have changed since 0.12.0a3 on both Windows and Unix. See the current installation directory layout document at: http://4suite.org/docs/installation-locations.xhtml If there is a server config files at the default location for the build and platform (e.g. /usr/local/lib/4Suite/4ss.conf by default on UNIX), it will be renamed to 4ss.conf.old and then overwritten. For insulation from Domlette implementation changes, developers should always use the generic Ft.Xml.Domlette APIs (rather than, say Ft.Xml.cDomlette). -- Uche Ogbuji Fourthought, Inc. http://uche.ogbuji.net http://fourthought.com http://copia.ogbuji.net http://4Suite.org Use CSS to display XML, part 2 - http://www-128.ibm.com/developerworks/edu/x-dw-x-xmlcss2-i.html Writing and Reading XML with XIST - http://www.xml.com/pub/a/2005/03/16/py-xml.html Use XSLT to prepare XML for import into OpenOffice Calc - http://www.ibm.com/developerworks/xml/library/x-oocalc/ Schema standardization for top-down semantic transparency - http://www-128.ibm.com/developerworks/xml/library/x-think31.html -- http://mail.python.org/mailman/listinfo/python-announce-list Support the Python Software Foundation: http://www.python.org/psf/donations.html