[Zope-dev] XML Roadmap (Fwd: [XML-SIG] Hello)
Vladimir Marangozov
Vladimir.Marangozov@inrialpes.fr
Fri, 29 Oct 1999 21:40:18 +0100 (NFT)
Seems like I'll start zoping, at least temporarily, intrigued by Michael's
reply to my original message sent to the XML-SIG. Hello Zope World!
Michel Pelletier wrote:
>
> [me]
> >
> > Basically, I'd like to "plug" the XML/XSLT part in the Zope site-building
> > process. Fundamentally, Zope's DTML resembles XSLT, but as an INRIA
> > employee, I tend to prefer XSLT and the standards my colleages are
> > working on ;-).
>
> What a coindcidence!
>
> > In the end, is this doable? Are there any missing parts or tools in this
> > chain?
>
> Yep. I'm currently prototyping a new component for Zope called MFI
> (Multi-Format Interface, I needed a good TLA). If you can follow my
> stream of conciousness, MFI realizes two very cool ideas:
[snip]
Sounds promizing. I'm still a Zope newbie, but I'm willing to discuss
a couple of things here (I hope this is the right forum).
Note that the XSLT transformations of the XML content I was referring to
is usually a one time process (for now). From your message, it sounds like
the XML processing will occur on object invocation (on demand). Being able
to handle this dynamically is a cool feature, but it could be penalizing
in some circumstances regarding performance (if the end result is not
cached, of course).
Next, I have two major thingies in my wishlist for Zope and I'd be happy
to contribute something as time permits.
1. This is a major wish, regading the object's content. It seems from
the examples provided with the distribution that I have to provide
the content in the format I'm willing it to be (in my case -- XML).
Why not reusing the Zope interface for filling intelligently my
content, being guided by Zope according to my DTD? The DTD defines
the grammar of my content, so theoretically it should be possible,
given a DTD to generate on the fly the input forms of the elements
I have to fill in, and add/remove elements and attributed according to
that DTD. This will ensure that my content is well-formed -- a major
requirement in the Web world!
For example, if I have the following simplified DTD:
<!ELEMENT ADDRBOOK (PERSON*)>
<!ELEMENT PERSON (NAME, ADDRESS, PHONE*)>
<!ELEMENT NAME (#PCDATA)>
<!ELEMENT ADDRESS (#PCDATA)>
<!ELEMENT PHONE (#PCDATA)>
Zope could generate input forms for me, containing the fields NAME,
ADDRESS and PHONE, and an option allowing me to add several fields
of the PHONE element. And only these! No other forms should be possible.
This will ensure that the document is well-formed according to that DTD.
This resembles very much the user-interfaces people are using for
filling and consulting database records.
Actually, it seems that Zope has only 1 DTD for an object, which goes
along these lines:
<!ELEMENT CONTENT (#PCDATA)>
Extrapolate this idea 1 step further, and it would be possible to
define with Zope's help even the DTD! :-)
The DTDs for almost all Web formats exist, notably the ones which are
of major interest nowadays for Web developers -- HTML 4.0 Transitional,
and HTML 4.0 Strict.
If all this already exists, (don't forget that I'm a Zope newbie :-),
then just point me to the feature and ignore the above.
2. The second wish is the Presentation aspect I've talked about previously.
The format of the content delivery should be completely decoupled from
the content. This is why all these new standards about XSL/T are about.
In the forthcoming years, content delivery will be formatted dynamically
according to the client's device. If I browse the Web with Netscape v.3,
the content will be delivered in HTML v.3; if I have an XML-ready version
of IE, the content will be delivered in XML; if I have a mobile device,
the content will be transformed according to the limited presentation
abilities of my device, etc, etc, not to mention that the same content
should be accessible for people with disabilities... That's why content
formatting, as a separate step, is so important.
I'm glad to see that there is ongoing work in this direction.
3. Minor thingie: If the two points above were reality, it would be possible
to customize Zope's look and feel itself! For instance, it's important
for me to set-up a Web building environment for INRIA, where everything
is in french, so that people designing their respective portions of the
web space understand what's going on.
So, to end up with something more optimistic ;-), I think that the next
Zope release should contain at least valid HTML 4.0 Transitional. You can
go to http://validator.w3.org for a convenient service on this. I'd be happy
to start looking at the source and the templates, and correct this aspect of
Zope.
The second thing I'm volunteering for now is to translate all user messages
to french and try to decouple the messages from the code. This would already
be an improvement. Others could provide a translation for other languages.
And don't forget -- I'm still a Zope newbie, so if the feature already
exists, just point me to it and ignore my rabling :-)
Later,
--
Vladimir MARANGOZOV | Vladimir.Marangozov@inrialpes.fr
http://sirac.inrialpes.fr/~marangoz | tel:(+33-4)76615277 fax:76615252