################################################################ $RCSfile: CHANGES.txt,v $ Authors: Chip Morris, Craeg Strong, Philipp von Weitershausen $Date: 2005/09/06 02:08:59 $ ################################################################ 1.1.1 - Upgraded 4Suite support for compatibility with latest CVS version - Upgraded Zope support for compatibility with Zope 2.8.1 - NO TESTING OF OTHER PROCESSORS (yet) 1.1.0 - Added keyword arguments for transform method to override XSLT parameters (CKS) - Created an XMLMethod base class for XSLTMethod, XPathMethod, and DTDValidateMethod. (CKS) - Created a DTDValidateMethod class. This will either be renamed to XMLValidateMethod or joined by SchematronValidateMethod, XMLSchemaValidateMethod, and RelaxNGValidateMethod in the future (CKS) - Created a base IProcessor interface, only has setDebugLevel for now. - Added IDTDValidator interface (for 4suite1.0a only, for now) (CKS) - Removed transformGuts() from IXSLTProcessor interface. Now transform() may throw an exception. - Added XPathMethod, IXPathProcessor, IXPathExpression (CKS) (for 4suite1.0a only, for now) - Renamed ProcessorChooser to ProcessorRegistry with refactored interface for better SoC (CKS) - Upgraded tests for latest version of ExternalFile, v1.2 (CKS) - Moved getXSLParameters() from *Processor classes into XSLTMethod class (bmh) - Added support for overriding stylesheet parameters with REQUEST variables (bmh) - Changed transformGuts to expect a "normal" parameter dictionary and convert it to the processor's expected format using addParam(), thereby removing the need for calls to addParam() in getXSLParameters() (bmh) - New tests for stylesheet parameters (bmh) - Moved all interfaces to central interfaces module, moved all processors to a processors package (PvW) - Fixed a bug that occurred with large File objects (PvW) 1.0.0 3/29/2003 (Craeg) - Print out which processor is being used in the tests, and provide the ability to indicate a preferred processor. This doesn't affect end-user at all, just makes testing a bit easier. - Changed name of project to ZopeXMLMethods, changed name of class from XMLTransform to XSLTMethod - removed unnecessary isCacheDirty flag - Updated ZMI help texts, tutorial - FourSuiteProcessor.py: Switched from using InputSources to simply providing a custom UriResolver, it is a less heavyweight URN resolution mechanism - Renamed FourSuite12Processor to FourSuiteProcessor - Implemented XMLCatalog resolver for 4Suite 1.0a - Upgraded to 4Suite 1.0a, libxslt 1.0.28, Sablotron 0.98RC2. Pyana 0.8 was not yet released as of 3/29/2003. - Implemented many more unit tests, including tests for all kinds of Zope objects: ZPT, File, ParsedXML, XML Document, ExternalFile, pipeline tests, and tests for processor features and limitations (EXSLT support, import bugs) - Made DTMLMethod the default Generator instead of File to fix bug with XSLT pipelines (the generated source for a File does not have a meta_type, because it is simply the result of the index_html() call. Any of the other Generators would actually work fine, because they all return real live objects). - Fixed findCacheManager() to work with context acquisition - Enhanced XMLMethod to work with xslt objects obtained by either context or containment acquisition e.g. 'myfolder/fooxsl' works now 0.9.1-Patch 12/25/2002 (Philipp von Weitershausen) - Removed TransformerRegistry class. - The output behaviour is now handled by Output Generator plugins. Default plugins are provided for DTML Method, DTML Document, Page Template, File and ParsedXML. - Objects not implementing __call__ but index_html can now be used as transformers and XML sources as well. These include File and ParsedXML. - The XML source object now has to be part of the acquisition path. That makes one XMLTransform usable for any number of XML documents. It is still bound to one XSL transformer, though. URLs now look like:: http://host/folder/aXmlSource/aXMLTransform - Heavy interface and schema modifications because of these changes, repair method is NOT (yet?) supported! - Now it _REALLY_ is possible to call XMLTransform from DTML or ZPT directly:: ,
. - Converted all ZMI forms to ZPT and common Zope styles. - Improved coding style according to ZC styles: * Removed 'self' from the argument list in interface methods. * Put CVS $Id: CHANGES.txt,v 1.9 2005/09/06 02:08:59 arielpartners Exp $ in module docstrings. * Changed docstring formatting. 0.9.1 11/8/2002 (Craeg) - Added test for relative URL resolution - Added http scheme resolver for SabPyth - Added STATUS report for each processor to README file. 0.9.0 11/1/2002 (Craeg) - Fixed limitation where calling an XMLTransform directly as a DTML didn't work. That is, now:: works when only:: worked before. - Fixed limitation where calling an XMLTransform directly as a ZPT didn't work. That is, now::
foo<;/div> works when only::
foo
worked before. - ZSyncing instances across xslt processors -- As of release 0.8, it was only possible to ZSync instances of XMLTransform to other Zope instances *that had exactly the same set of XSLT processor libraries installed*. This enables one to "upgrade" simply by ZSyncing to a machine with a different processor. - Added Sablotron support (SabPyth 0.52) - Added Pyana support (Pyana 0.6) - Upgraded to use 4Suite 0.12.a3 and PyXML 0.8.1 - Upgraded to use libxml 2.4.26 and libxslt 1.0.22 - Upgraded to use ZopeTestCase 0.5.3 - Added ability to switch XSLT Processors on the fly. XMLTransform lists which processor is selected, and the transformer registry enables runtime selection among available processors. - XMLTransform mentions the processor it's bound to on its 'manage_editForm'. - If transformer is a ZPT, make the XMLTransform behave_like zpt by default. otherwise, make it behave_like DTMLMethod by default 0.8.1 9/15/2002 (Craeg) - Removed inconsistencies in docs in spelling of 'XSLparameters' - Added new Todos for behave_like (to match transformer when transformer is DTML or ZPT) - Fixed relative URL resolution on 4Suite 12 - Fixed relative URL resolution on 4Suite 11 0.8.0 8/27/2002 (Craeg) - Added more functions to Cache Manager: list up to date, list out of date, and regenerate if needed - Noted potential issue with ZSyncer in README and TODO - All "if foo:" changed to "if foo is not None:" to guard against len(0) - Made 4Suite 11 the default processor - Wrote TUTORIAL.txt - Fixed bug where editing a transformer did not invalidate the cache - Ensured compatibility with ExternalFile 1.1, CVSFile 0.8.1 and ZSyncer 0.4.5 0.7.0 8/25/2002 (Craeg) - Refactored factory methods according to new conventions (pure python covers return new object, not a string) - Wrote README file - Fixed verbiage on all DTML ZMI screens - Added help text for all screens - Made FourSuite12Processor.py work with latest 4Suite 0.12alpha2+ (8/25/2002 CVS version). URI resolver patch required... - Implemented LibXsltProcessor.py for compabitility with GNOME libxml2 and libxslt 0.6.0 8/14/2002 (Craeg) - Add form now lists whether a cache manager is available or not - Refactored factory methods for all objects to allow them to be created either programmatically or via the ZMI GUI - Implemented unit tests for all objects - When you change the debugLevel property, in XMLTransform, it now changes the debug level in the underlying XSLTProcessor as well. - Implemented content_type attribute - Changed name of XSLTransformerRegistry to TransformerRegistry - Implemented behave_like functionality so can return either a DTMLMethod or a PageTemplate - Made FTP access work for XMLTransform, but only list the name (cannot edit transform nor source contents for security reasons) 0.5.0 8/11/2002 (Craeg) - Added ability to specify which meta_types can be transformers within an XSLTransformerRegistry. That way it will ignore other types of objects. - Added "omit" attribute. If an object contained within a registry has an "omit" attribute, it will be ommitted from the list of transformers regardless of its meta_type. - Changed XSLTransformerRegistry to be a folder-like object. All non-folder items that do not have an "omit" attribute will be considered transformers. The registry is now finally policy-free. 0.4.0 08/07/2002 (Craeg) - Created IXSLTProcessor interface, made 4suite 0.11 and 0.12 versions of implementation. - Enhanced CacheManager to check for existance of cache dir when cachePrefix property is set - Enhanced CacheManager to include delete cache functionality 0.3.0 08/04/2002 (Craeg) - Added separate CacheManager. Caching is now optional; it is done iff an instance of CacheManager is found. 0.2.0 07/29/2002 (Craeg) - Added separate XSLTransformerRegistry. 0.1.0 07/23/2002 (Craeg) - Changed name to XMLTransform - Removed ability to store content. It is now _only_ a transformer, that points to another Zope object from which it obtains the XML document to be transformed. - Made product more modular by separating out Caching and calls to XSLT processor into separate Python modules. These modules could ultimately be made pluggable to allow different caching strategies or xslt libraries to be specified at run-time. 0.0.13 02/14/2002 (Craeg) - Refactored for compatibility with new CVSFile (0.7) 0.0.12 01/02/2002 (Craeg) - Fixed long standing bug where spelling error in self.contents silently created a new attribute on the fly - Integrated edit with ExternalFile to take advantage of edit via upload and Taller/Shorter buttons 0.0.11 12/18/2001 (Craeg) - Cache files now start with 'ZopeCache' and omit the host name and port number 0.0.10 12/14/2001 (Chip) - Changed to _debugLevel. "0" means no debugging, "1" means some debugging trace, "3" means full template-by-template execution trace. - Fixed bug that made it impossible to turn off caching. 0.0.9 11/26/2001 (Craeg) - Cache will refresh itself in response to a modification of the underlying external file (if appropriate) 0.0.8 11/21/2001 (Chip) - Added ability to cache the result of the XSLT transformations. This dramatically improves performance. 0.0.7 11/18/2001 (Craeg) - Converted XMLDocument to use the 4Suite 4XSLT processor instead of Saxon. This obviates XML-RPC requirement. - Added URNResolver for xsl:include, xsl:import, and document() commands. Added ability to define URN namespaces in the ZODB and use them for lookup of local or remote objects. Local object lookup will use acquition. Remote object lookup uses URL streaming. 0.0.6 11/5/2001 (Chip) - Added the ability to pass xsl parameters to the transformer. See the README.txt file under "XSL Parameters" for more information. - Fixed bug: missing property_error object now inherits from CVSFile. 0.0.5 10/31/2001 (Craeg & Chip) - Added Help to Edit and Create screens. - ClassSecurityInfo now defines security. - Separated CVS information into separate management tab. - Added "Cancel Changes" tab to edit screen. - Fixed FTP get/put for both internal and external files. 0.0.4 10/30/2001 - Incorporated new CVSFile (was 'ZCVSFile') forms and initialization functionality. XMLDocument is now an "optional CVSFile". - Redesigned how transformers are found. XMLDocument now obtains a list of transformers and presents them when the user attempts to create a new XML Document or edit an old one. - Changed the organization of the htmlLib to an xslFragments with html, pdf, etc. subdirectories. XMLDocument now uses this to generate the possible values of outputFormat. 0.0.3 10/23/2001 Incorporated ZCVSFile - Integrated ZCVSFile to allow the contents of an XMLDocument either to be local to Zope (part of ZOBD) or to refer to an external CVS-managed file. - Added a properties management screen to permit users to change certain values. - Separated notion of RPCServerURL into Server Host and Server Port properties. Removed cache property (for now). 0.0.2 10/22/2001 Refined design - Changed to inherit from SimpleItem to get acquisition working. - Made "catalog aware" and added indexing to creation method. - Defined __str__() to return the raw content, not the transformed content. - Removed the dependency on the dtml/xsl.dtml script to find the transformer object. Use direct Python calls, instead. - Wrote a better README.txt. - Now inherits from ZCVSFile. Edit form adjusted to accommodate. 0.0.1 10/18/2001 Initial Release