You are not logged in Log in Join
You are here: Home » Members » arielpartners » XML Transform » Todo List » View Document

Log in
Name

Password

 

Todo List

################################################################

$RCSfile: TODO.txt,v $

Authors: Chip Morris, Craeg Strong

$Date: 2002/11/06 19:13:56 $

################################################################

High Priority

Processor Issues

  • implement 4suite 12a3 catalog resolver
  • Evaluate Pyana failures on ariel website
  • libxslt python api for urn resolution
  • libxslt python api for catalog resolver
  • SabPyth: xsl:import bug fix, when support ext:evaluate?
DynamicSource
It would be useful if XMLTransform allowed me to leave the Source ID field empty and assumed it's applied to an XML. For example I would like to be able to write: http://MyFolder/myZSQLmethod/asXML/transform and get a rendered page.

This way transformer doesn't know how it gets its XML and behaves like a true pipe.

The proposed enhancement would let me to chain transformers: ....../asXML/transform1/transform2

The next logical step would be to allow supplying XSL on the fly: http://MyFolder/myZSQLmethod/asXML/transform/myXSL

FO to PDF via FOP
Add a "Fopper" object that can create PDF out of a FO document. Possibly use Java-based FOP via XML-RPC
XMLDocumentAssembler
a new kind of object whose job it is to assemble a well-formed XML document out of fragments. These fragments can be pieces of other XML documents specified via an XPath expression (i.e. a kind of a filter). Advantage: we needn't create dummy "reference" documents to pull out a piece of a larger document.

Medium Priority

ParsedXML and File compatibility
Provide an optional method to call on either object to obtain the source, using __call__ as the default.

Possibly provide the ability to cache the transformer and cache source for reuse (in the case where they are static)

Improved Mime Type Support
figure out which mime type the transformer is producing and make the resulting DTMLMethod or PageTemplate reflect this.
PropertyFiles
make default_transformer_meta_types, mime_types non_transformer_meta_types and choice of XSLTProcessor switchable at start time through the use of property files. Advantage: eliminates need to change source code. Steal code for this from ExternalFile.
XML Catalog support
incorporate support for XML catalogs for URI resolution. This will provide the ability to support custom URI (URN and/or URL) resolution strategies without having to change source code
RestrictableMetaTypes
Add ability to restrict the meta types of objects that can be placed inside a Transformer Registry. Borrow code from OrderedFolder?
DTD Validation
Add ability to validate against DTD via button in ZMI
Default Transformer
Add ability to specify a default transformer in the TransformerRegistry. That would remove the need for an instance of XMLTransform to specify a transformer-- The "add" form would always come up with the default instance selected.

Nice To Have

Change the icon for an XMLTransform depending on its behave_like.

Blue Sky

  • Add ability to use external DTD rather than mention in XML source code (?)
  • Add the capability to handle multiple binding times for XSLT transformer properties. For example, there should be properties at the document type, document instance, and site level. User properties could be specified on a session (for example via a cookie in the REQUEST object) or permanent (in ZODB?) basis and should override all others.

Withdrawn items

  1. XMLTransformFolder -- Add a batch transformer with the ability to transform an entire folder full of "like" objects. For example, you could have a transformer that knows how to transform articles into HTML, and have a Zope folder full of objects that product XML articles. The transformer would use some sort of prefix to suffix mapping algorithm to do the transformations. It should probably be a folder-like object.

    *This item has been obviated by the ability to apply an XMLTransform to a source file via acquisition like a python script or DTML method*