Z Object Publishing Environment

Search | Download | Documentation | Resources | Members




Join Zope.org
Log in

Developer Home
Get Involved!
The Fishbowl

 Zope Exits

Zope Newbies

page served by app2

Proposals Table of Contents Last edited on Jan 20, 2001 3:48 pm


Note - this document is still a work in progress. Please do not make inline comments in the proposal - use the XSLTMethodDiscussion to make comments.


Fourthought Inc. (4zope@fourthought.com)


As it currently stands, the XMLDocument effort is only half the battle in the Content and Presentation paradigm. see zope-xml big idea . The next step is to provide another transformation mechanism for turning XML content into presentable information.

Proposed Solution

An XSLTMethod will be an object that contains a XSLT Stylesheet. The object will support interfaces to apply the template to any object that supports the DOM Level II interface. It could be applied to an object in Zope through acuisition, explicitly to any python object, to a serialized XML Document, or given a URL to retrieve.

Some examples of how this would look in python:

 results = xslt.processUri("http://www.fourthought.com")
 results = xslt.processNode(node)
 results = xslt.processString("<employees/>")

The call interface will also be supported. Assuing you have a XMLDocument accessible by http://foo.bar/data/xmlSrc, and a XSLTMethod called viewByDate, then XSLTMethod can be applied to the XMLDocument as follows:


With Zope extension functions and extension elements, XSLT Methods will have access to the python enviroinment inwhich they were called so programmers can take full advantage of all that is Zope.

XSLT also provides a powerful extension mechanism which will allow programmers to go "outside the box" and accomplish anything that python allows.

For a simple example demonstrating conceptual usage, lets assume you have a contact database in XML format in an XMLDocument object and you want the information displayed in a readable format. You would create an XSLT stylesheet and instanciate it as an XSLT Template object in the zope heirarchy. This stylesheet would have template matches for specific parts of the XML schema and would be very easy and intuitive to create. The template matches would be able to render the information in a nice HTML format or to XSL's fo schema (from which it can be easily transformed to PDF, PS, etc).

For those unfamiliar with XSLT or want more specific artifacts on XSLT stylesheets and stylesheet processing please refer to W3cx's in depth specification on XSL transformations: http://www.w3.org/TR/xsl/


  • Transparent architechtural integration with XMLDocument and !ZDOM

  • No additional learning curve (besides that associated with XSLT alone)

  • Able to do as much as DTML in terms of manipulating Zope Objects and the Zope environment (not a binding requirment)


  • Extreme XPath queries that strain Zope's XPath implementation. Ex. "//" will load every object from the ZODB!

  • Speed

  • Architectural incompatibilities


The scope of the initial project will include integration of 4XSLT into Zope as a Zope Product. A set of initial extension functions and elements will be developed. The initial scope does not include any zope-only optimization to the processor unless the product is unuseable without them. It also does not include integration of XSLT into any other areas of Zope.


  • Third party add on product

  • User Documentation and examples

View source XSLTMethod
Advanced Actions / History
Visitor: Anonymous User
Jump to:
... by pagename prefix or search term.
For a plain search:
Privacy policy       Printable Page       Feedback about Zope.org