Setup
Plone doesn't yet support XML saving and loading as part of its default setup. We need to add and configure some software.
Prerequisites
Marshall has been around a while, so in a sense, it should work with semi-recent versions of software. However, to get the experience described herein, you should use this:
- Zope 2.8.4
- Plone 2.1.2
- Marshall 0.6 (link here)
You also need libxml2. This is an industrial-strength XML parser with a good Python binding. If you are on Linux or OS X, you already have libxml2, though you might not have the Python binding in the Python you are using for your Zope.
How to find out? Run the Python for your Zope and do:
import libxml2
If that works, you're golden. If not, you have some compiling to do.
Finally, this walkthrough shows the use of DAV clients. The steps show both cadaver and oXygen. You can use one of these, both of these, or neither of these, as they are only for illustration.
Setup
Once your software is in place, the next step is to configure Zope to provide a WebDAV port. For example, if your ZMI port is 8080, you might want to connect to Plone on port 8880 for WebDAV. In your Zope instance, open etc/zope.conf and uncomment the webdav-server section:
<webdav-source-server>
# valid keys are "address" and "force-connection-close"
address 8880
force-connection-close off
</webdav-source-server>
Make sure you restart your Zope. Next, log into Plone as a Manager.
Click on plone setup (top right corner) and install the Marshall
product.
Much of the remaining work is in the ZMI. (Yeh, we should provide a
configlet for this. If someone teaches me how to make a configlet,
I'll do it and maintain it.) Thus, in Plone Setup, click on the link
for Zope Management Interface.

libxml2 support in recent Plone installers