[XML-SIG] Subject: ANN: 4Suite XML 1.0b2

Uche Ogbuji uche.ogbuji at fourthought.com
Tue Oct 25 02:21:25 CEST 2005

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
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
* 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
    - IsQName, IsNCName, IsName and IsNmtoken implemented in C
    - Removed Python versions of implemented functions
  * Domlette: switched struct allocs to use the Python object allocator
  * 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
* 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
* Fix case-sensitivity clashes in modules in some Windows set-ups
* Improved DocBook utilities
* moved SourceArgToInputSource from Ft.Xml.Lib to
* 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
* 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:




Windows installer:


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
are installed:


For insulation from Domlette implementation changes, developers should
always use the generic Ft.Xml.Domlette APIs (rather than, say

Uche Ogbuji                               Fourthought, Inc.
http://uche.ogbuji.net                    http://fourthought.com
http://copia.ogbuji.net                   http://4Suite.org
Articles: http://uche.ogbuji.net/tech/publications/

More information about the XML-SIG mailing list