2) I also need to serve up web-based forms and allow the user to create
XML content based on a user-selected schema. Something
like what Chiba (http://chiba.sf.net/) is targeting. Of course,
though, that isn't a Python/Zope solution. Has anyone seen anything
that works? At this point, installing Tomcat and Chiba is what I
presume I'll be doing in a couple of weeks....
This one is still a big issue. I'm presuming that neither Zope nor
Python have addressed XForms.Andreas Jung wrote:Zope itself has no native XML support. However there are some products like
ParsedXML that provide additional functionality. You might also look at Silva CMS
which is provides native XML support.
I just found where Uche Ogbuji wrote, in http://www.xml.com/lpt/a/2004/02/11/py-xml.html -- [Version 0.7 parser had a fatal error with input containingDennis Allison wrote:While you need to write appropriate External Methods and/or Products to use it, we have found that the ReportLab pyRXP system works well.
…]
"The responses from the developers were, more or less, that PyRXP
raises a fatal error when presented with XML characters with Unicode
ordinal greater than U+256, regardless of how they are represented. The
unfortunate upshot of this is that PyRXP 0.9 is not an XML parser."
Three questions, in order of importance (to me):
1) Is it possible to validate an (uploaded) XML file against a schema
(currently on the Zope server)?
What, if any, extra packages are needed? I want to use this in my
upload forms to alert the user if their files are invalid.
Currently, I've an Extension "browser-ish" class that takes the
form.file submission (and other data), MIME encodes them and forwards
them via HTTP to a Perl XML validation tool on the web that was
already running. It's an *ugly* hack, but it works for now.
3) Is there a function built-in to Zope that allows merging XML files?
(ie: all the <abc> within a list of user-selected files).
I've got an Extension that works correctly (using the Amara/4Suite
packages), so an answer here is mostly for me to learn Zope better.
Sounds like this is as good as it gets, or close enough that it
wouldn't be worth the effort to change.