[Zope-dev] ANNOUNCE: Zope/XML Roadmap

Amos Latteier Amos@digicool.com
Tue, 20 Jul 1999 20:27:59 -0400


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