Today we release 4Suite XML 1.0 beta 2, now available from Sourceforge and ftp.4suite.org.
The most important development is that 4Suite is being split into three separate packages:
4Suite XML - XML, XPath, XSLT, related technologies and support libraries 4Suite RDF - RDF processing libraries and stand-alone DBMS 4Suite Repository - XML and RDF repository
The main reasons for this split are
* The core XML libraries are much more mature than the rest of 4Suite, and indeed have been 1.0 quality for a long time * The size of the overall package gives pause to people who just want a basic XML processing toolkit
The plans are to push 4Suite XML to 1.0 and then focus on 4Suite RDF and 4Suite Repository.
Highlights of changes in 4Suite XML since the last release --
* New user manual and improvements to API documentation * Domlette: Convenience parse functions Ft.Xml.Parse and Ft.Xml.ParsePath * XSLT: XSLT processing convenience functions Ft.Xml.Xslt.Transform and Ft.Xml.Xslt.TransformPath * XML Catalogs: improved implementation and compliance * XInclude and XPointer: improved coverage of the spec * Yet more significant performance increases throughout: * XSLT: Fixed huge performance bug with large, complex transforms * Combined XML string routines into a single module Ft.Xml.Lib.XmlString - IsQName, IsNCName, IsName and IsNmtoken implemented in C - Removed Python versions of implemented functions * Domlette: switched struct allocs to use the Python object allocator (speed) * Domlette: changed callback qualified names to be reported as a struct instead of a string with parts separated by a special character (speed & memory) * Domlette: changed Node.prefix to be computed runtime rather than stored (memory) * Domlette: added interning of individual name parts (speed & memory) * Domlette: new parsing function ParseFragment (to replace NonvalParse(parseAsEntity=True)) * Saxlette: Ft.Xml.Domlette.SaxWalker class for walking a DOM and emitting SAX events as if from a parse * Saxlette: suspend and resume support, which allows users to create SAX applications using Python generator semantics * Saxlette: new ContentHandler (Ft.Xml.Sax.DomBuilder) for constructing Domlette Documents * Saxlette: improved compatability with PySAX * Saxlette: support for full LexicalHandler and ContentHandler interfaces * Fix case-sensitivity clashes in modules in some Windows set-ups * Improved DocBook utilities * moved SourceArgToInputSource from Ft.Xml.Lib to Ft.Lib.CommandLine.CommandLineUtil * RELAX NG: Add support for wxs string type facets maxLength, minLength and pattern * XPath: Added extension function typing information. Currently only used for documentation purposes but could lead to automatic type conversions. * Installation locations should be accessed in the form Ft.GetConfigVar('xxxDIR'), rather than the original Ft.xxxDIR * XPointer: new Ft.Xml.XPointer.Compile convenience function * XSLT: Add i18n in XSLT support (f:setup-translations and f:gettext ext elements) * XSLT: implement Extended versions of XSLT elements for debugging and execution tracing (Ft.Xml.Xslt.ExtendedProcessingElements) * XSLT: Support UTF-8 BOM in xsl:output and exsl:document (extension attribute f:utfbom)Support safegaurs against file overwrite in exsl:document (extension attribute f:overwrite-safeguard) * XSLT: Add prefix to namespace mapping to 4XSLT command line
* Internal detail: Added UCS4/UTF-32 internal encoding support to Expat to allow for direct copying of XML_Char into Py_UNICODE thus preventing an unnecessary decoding step on our part. This also greatly simplifies XML_Char routines.
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. 4Suite XML is the core set of XML, XPath, XSLT, related technologies and support libraries.
For general information, see:
For the files, see:
ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b2.tar.gz ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b2.tar.bz2 ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b2.zip
ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b2.win32-py2.2.exe ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b2.win32-py2.3.exe ftp://ftp.4suite.org/pub/4Suite/4Suite-XML-1.0b2.win32-py2.4.exe
You can also get the files on Sourceforge:
In the locations specified above, with filenames of the form
Release notes -- The current installation directory layout document tells where package files are installed:
For insulation from Domlette implementation changes, developers should always use the generic Ft.Xml.Domlette APIs (rather than, say Ft.Xml.cDomlette).