You are not logged in Log in Join
You are here: Home » Members » arielpartners » ZopeXMLMethods 1.0 released, succeeds XMLTransform

Log in
Name

Password

 

ZopeXMLMethods 1.0 released, succeeds XMLTransform

The ZopeXMLMethods 1.0 release represents a fundamental change in paradigm from XMLTransform. Rather than pointing directly to both the XML source and the XSLT source, an XSLTMethod now points at the XSLT source and is applied to the XML source like a python script or DTML method.
This is good news, as it makes XSLTMethod much more Zope-ish and completely obviates the XML Transformer Registry. However, the down side is that there is no easy upgrade path from previous releases.
The reaons for the name change are as follows:
  • not backward compatible
  • fundamental paradigm change
  • project now hosted on sourceforge
ZopeXMLMethods consists of a set of methods that can be applied to Zope objects to perform various types of XML processing. In general each type of method is applied to a Zope object in the same manner that a standard DTML Method or Python Script might be applied. The only requirement for the source Zope object is that it must somehow produce XML. Currently, this XML must be in ASCII or UNICODE form, but in the future additional formats such as DOM or SAX events will be supported. ZopeXMLMethods includes a Cache Manager that is specialized to notice changes to the XML source files and to store cached contents in files in the filesystem, rather than the Zope object database.
Summary of changes:
  • Removed DTML GUI pages, replaced with Zope Page Templates
  • Zope Page Templates now required
  • XMLTransform module: renamed to ZopeXMLMethods
  • XMLTransform class: enhanced and renamed to XSLTMethod
  • TransformerRegistry class: removed
  • FourSuite/Pyana/LibXslt/SabPythProcessor classes: upgraded to support newer releases, support for XML catalogs added, but otherwise unchanged
  • CacheManager class: enhanced to use the transformation path (URL) as the caching key
  • Numerous other improvements -- Check CHANGES.txt for full details.
XMLTransform features a pluggable architecture that makes it possible to dynamically choose between different XSLT Processors at runtime. It currently works with any of the following combinations:
  • PyXML 0.66 and 4Suite 0.11.1
  • PyXML 0.8.2 and 4Suite 1.0a
  • libxml2 2.5.5 and libxslt 1.0.29 (Python bindings)
  • Pyana 0.6
  • Sablotron 0.97 and Sab-Pyth 0.52
Click here to download.