Skip to main content
A Open Source Solution
Home Download Support Configuration Development ImagoX

Development is managed on SourceForge. If you wish to join our development team contact one of the project admins .

The organization of the Imago project follows the general organization for all projects. That layout is documented in the development section.

Design Goals

To implement a servlet that will execute XSL transformations.
The Imago class extends javax.servlet.http.HttpServlet
To utilize the XSLT extension element capabilities to extend a base functionality of XSLT.
Imago is built using the Xalan XSLT processor. Any extension matching the signature for Xalan extensions may be executed as part of an Imago-based XSL transform.
To provide access to the servlet environment from within an XSLT extension element.
Each time a transformer is constructed 2 parameters are set. The org.xenei.imago.framework.Defaults.IMAGO_DATA contains the ImagoData object. The Imago data object contains all the servlet environment objects and many of the Imago environment objects. The org.xenei.imago.framework.Defaults.IMAGO_FILTER contains the current XMLFilter.
To provide caching of transforms where possible.
Imago is implemented using XML transform pipelining. At each step in the chain Imago checks the cache to see if the requested object is already available. If not the transform is made and the result cached if applicable. This is transparent to the user and content creator.
To provide a mechanism to determine the specific XSLT transforms to be executed at runtime, based on the type of client making the request.
Imago uses a client map, see ClientMap.xml, to determine what client type is making the request to the system and a process map, see ProcessMap.xml, to determine how to handle the request. Both of these files may be edited while the system is running. The changes will take effect shortly after editing is complete. The actual time between editing and when the changes take affect is controlled by the timedwatchable.timecheck entry in the file, and when the next timed watchable check occurs.
All trademarks and copyrights are the property of their respective owners.
Copyright © 2002-2004 by, All Rights Reserved - Open Source Solutions