[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