Fellow Zopistas, A number of community members have been discussing XML in Zope and some folks have actually released Zope/XML products. Go team! In the next couple days Digital Creations is going to release an alpha of an XML Document object, and I want to take this opportunity to let you know about it, and summarize what our XML plans are. -- XML Document Product alpha What started as a hack while sitting around Paul Everitt's kitchen has become useful enough to release. XML Document is a Zope product which will provide support for handling XML objects in Zopish ways. We plan on releasing the first alpha before the end of the week. It will be an unsupported product and will not be an official part of Zope 2. What is it? XML Document is a Zope product that allows you to use xml objects in Zope which expose their internal structure in a Zopish way. You can, * Format xml objects with DTML, you can even use the tree tag with xml objects. * Publish xml elements via URL traversal. XML elements work like normal Zope objects so for example, they can acquire DTML methods for display. * Edit xml objects using the management interface. XML Documents allow you to edit sub-elements individually if you wish. * Query xml objects using the DOM API. * Catalog xml objects. You can catalog XML Documents, and even individual elements in a document. * Create very large documents. Since elements are normal persistent objects, Zope does not always need to keep the entire DOM in memory. More information will be available when it is released. And now on to a more broad look at what we're planning. Please note that these are merely plans, not promises to deliver. We are serious about welcoming feedback and participation from the community, and don't wish to preempt any work others are doing. We just want to let you know what we're thinking about, and ask for comments. -- Zope and XML Roadmap This is summary Zope/XML activities and plans. What's available now? XML Development XML Document Product (available soon) XML Document is a Zope product that allows you to use xml objects in Zope which expose their internal structure in a Zopish way. XML Document provides fairly generic support for XML, and can be subclassed using ZClasses to build more specific XML applications. XML Document is currently an alpha quality, unsupported Zope Product. XML-SIG xml package Python has excellent XML support which is developed and maintained by the XML-SIG. While Zope does not come with this package, you can use it with Zope by either installing normally with the Python you use to run Zope, or installing it in 'lib/python1.5' if you are using a binary Zope installation. The xml package gives you access to a wide range of tools which you can use to develop XML applications via External Methods or Zope Products. You can even build ZClass base classes in Python which use the xml package and then create ZClasses through the web. http://www.python.org/sigs/xml-sig/ XML-based Standards Support WebDAV support Zope supports remote content management through the WebDAV protocol. http://webdav.zope.org/ XML-RPC In addition to Zope's native URL to method conversion, it supports XML-RPC. This support is built into the Zope ORB. http://www.xml-rpc.com/ Where is XML support in Zope going? There's no telling where the energetic Zope community will take Zope, but here is a tentative plan for what Digital Creations hopes to do. DOM support for Zope objects Work is underway to add DOM methods to standard Zope objects (aka SimpleItems and ObjectManagers) This will essentially make the Zope object hierarchy available as though it were a large XML document. At first the DOM support will be read-only, with DOM methods to manipulate the Zope object hierarchy coming later. It may make sense to change the Zope management interface some to make it more congruent with the DOM. For example, right now there is now way to explicitly re-order child objects within Folders using the management interface. http://www.w3.org/TR/REC-DOM-Level-1/ XSL as an object query language for Zope Once Zope objects support read-only DOM methods it should be fairly simple to allow Zope to be queried with the pattern subset of XSL. We plan to use an existing xsl implementation, rather than write our own. http://www.w3.org/TR/WD-xsl/ Further refinement of XML Document Product The XML Document needs a lot of work, * Verify that the DOM implementation is fairly complete and correct. * Start using the forthcoming version of pyexpat which will allow more complete parsing, including comment nodes. * Add PUT and FTP support to allow remote editing of XML. * Improve performance. In the longer run plans include, * Provide an ability to bind ZClasses to specific Element types. This is similar to ZSQL Method's notion of brains. * More completely support Zope management and object protocols. * Provide XML validation services. I think that Zope is going to turn out to be a very exciting platform for XML work. -Amos -- Amos Latteier mailto:amos@digicool.com Digital Creations http://www.digicool.com