Boris Borcic wrote:
I've like many been keeping an eye on XML and XSLT. It seems to me, that the high interest in these technologies suffers from an astonishing blind spot : reversibility.
[big snip] I'm not sure if I get you here. I think reversing wysiwyg documents back into semantic content (XML) is very very hard, if not plain impossible. A different layout, especially with the current HTML table hacks, can really transform the way a document looks, and you'd need heuristics to make this work well at all; and heuristics don't always work. Instead I've chosen a different route; I'm building a web based editing tool that can edit an XML Document (of only a single DTD for now; it's not a general XML editor). The XML document is transformed (with DTML) to HTML for display, but when the user makes a change in this document, the XML DOM tree is modified (instead of the layouted HTML). After that, the whole XML->HTML process happens again and you see the edited version of the document. This document isn't displayed in the full final layout; only enough HTML layout is shown to give an impression. I.e. there are paragraphs and titles and lists, but no sidebars and backgrounds and fonts. After the author is done with the XML Document (and the author doesn't know anything about the XML in the background; she's just working with a structured web-based text editor), a set of layout options can be chosen and the document can be published on the web. Some advantages of this kind of authoring environment: * web based -- no local clients necessary * _only_ DTD conforming XML is produced by authors * Authors don't need to know XML * layout independent from content; you can have a consistent look & feel of a site while employing different authors * You can use the XML in 5 years for something else The main disdvantage is of course that a web based interface is slow, clunky and limited. Basically the idea is much like Zope's structured text. The added advantage is that people don't need to learn structured text rules; they can't generate wrongly-structured documents at all. So, I think I'm trying to solve the some of the same problems without needing the reversibility bit. Regards, Martijn