- From: Sebastian Schnitzenbaumer <schnitz@mozquito.com>
- Date: Sat, 4 Aug 2001 15:29:38 +0200
- To: "Bjoern Hoehrmann" <derhoermi@gmx.net>
- Cc: <www-forms@w3.org>
Bjoern, you're right about the XSLT comparison in the sense that Microsoft supported an early draft in IE5. That definitely helped to boost the awareness of XSLT in the market. However, what I meant more was that in the end, today, we see XSLT processors sitting on the server and not on the client. That this is natural since XSLT is server-side in nature and forms are client-side in nature, I'm not so sure about that, because: XSLT is functionally something that every browser does internally anyway - the mapping between the initial parsetree and the internal object model. Therefore we could have ended up very well in a client-side XSLT deployment scenario technically - but in didn't happen. Why? One reason why this didn't happen is because XSLT has two major use cases: * The transformation from one high-level, semantic data XML grammar into another semantic data XML grammar. * The transformation from one high-level, semantic data XML grammar into a low-level presentation layer XML grammar. (BTW, discussion gets so much easier if you divide XML functionally into XML-A, XML-P and XML-F: - XML-A: Abstract XML for data exchange, etc. - XML-P: Presentation XML - XHTML, SVG, XSL-FO, etc. - XML-F: Functional XML - XSLT and XForms without the UI.) The first XSLT use case, from XML-A to XML-A, most naturally occurs where the data is being held, which is most likely on the server. But for the second use case, from XML-A to XML-P, e.g. from an abstract XML data grammar into XHTML or XSL-FO for rendering, which we see XSLT is being used for a lot, this could have well been done sitting inside the browser. But still this second use case is successfully done while the XSLT engine sits on the server. This is what I mean with it took off successfully without widely deployed browser support. Now here comes the link to XForms. The first XSLT use case is not what XForms is designed for, so only the second XSLT use case is of interest to us. Let's take a very concrete example where we see both XSLT and XForms work together in harmony to solve this second use case more efficiently: In X-Smiles, my favorite pure XML browser, the browser configuration file in being kept in a XML data format customly designed for X-Smiles (XML-A). If you want to change the browser options in X-Smiles, what happens is instead of having a custom options dialog bound to the XML data format written in Java, X-Smiles uses both its internal XSLT and XForms implementations in the browser to do the task in the main rendering canvas: If the user wants to change the browser settings, the XML data format holding the current settings is opened by the X-Smiles browser engine. This XML-A grammar has an XSLT associated with it (XML-F). The XSLT transforms the XML grammar into XSL-FO (XML-P). Without XForms, you would now see the settings displayed in the browser, but you cannot "submit" the changes, ie. there is no back channel. This is because XSLT is always a one-way-transformation, e.g. from XML-A to XML-P back not back again. XForms is bi-directional in nature, since you can submit the same XML data instance associated with the XForm after the interactions with the user. What happens now in X-Smiles, is that the XSLT transforms the XML-A via XSLT into XSL-FO with added XForms support. The XSL-FO in X-Smiles uses the basic XForms concept of binding the XForms UI controls in XSL-FO to an associated XML data instance via the XPath bindings and the ref attribute. The XSL-FO document the XSLT produces has the originating XML-A document associated with it via XForms. Voila. Now the XSL-FO document presenting the browser settings to the user has its UI controls bound to the originating XML-A document. When the user changes the settings, the copy of the originating XML-A document loaded into the browser gets changed. When the user hits submit, the updated XML-A document overwrites the existing XML-A document on the hard drive. The circle is complete, the settings have been changed. So just as XSLT is the XML-F between XML-A and XML-P in one direction, XForms is the XML-F back from XML-P to XML-A in the other direction. Back to where we came from: If XForms is in some cases a valuable addition to XSLT, or even in some cases an alternative to XSLT, and if at the same time XSLT is successful today performing this task on the server, XForms can also be successful performing this task on the server and thus making XForms useful this year. How? Take the specific XForms implementation Mozquito will provide this September with its XML WebAccess 2.0. XML WebAccess implements XML-UI, a prequel to XHTML 2.0, in the sense that this is the specific combination of XForms with XHTML. As X-Smiles has shown us, XForms can be used with many XML-P languages such as SVG, SMIL and XSL-FO. So XForms really isn't only about XHTML. But the specific markup language supported by XML WebAccess named XML-UI is indeed the long awaited XHTML + XForms. XML WebAccess transcodes XML-UI documents on-the-fly on the web server into DHTML/JavaScript. Just like XSLT can transcode from anything to anything, but in many cases from anything into something concrete presentational, XML WebAccess focusses on the concrete case of taking the specific XML-P called XML-UI into DHTML/JavaScript. How the XML-UI gets transcoded into DHTML/JavaScript is fixed in XML WebAccess, ie. you cannot change it and you don't have to. You don't have to because XML-UI as a language is very powerful since it is built upon XForms, and XForms is pretty powerful. The different combinations of XForms tags used in your custom XML-UI documents automatically change the XML-UI-to-JavaScript transformation schemes inside XML WebAccess. The transformation schemes also automatically adjust depending on the client requesting the document, whether it is IE or Netscape in whatever version on whatever platform. The JavaScript output is powerful enough the emulate the entire XForms functionality on the client as if it was natively implemented by the browser. So with a server-side XForms implementation such as XML WebAccess, you could do exactly what X-Smiles does today completely on the server. The beauty is that existing, deployed browsers can be used for rendering/display without requiring end-users to install a plug-in or to use a different browser. That's just one way of how XForms can be widely deployed this year and what lets XForms become more than just a Working Draft. All the best, - Sebastian -----Ursprüngliche Nachricht----- Von: Bjoern Hoehrmann Gesendet: Sa 04.08.2001 04:33 An: Sebastian Schnitzenbaumer Cc: www-forms@w3.org Betreff: Re: NetScape/IE * Sebastian Schnitzenbaumer wrote: >I agree that Microsoft and Netscape are >unlikely to support XForms, but I very >strongly disagree with the disruptive >pseudo-quote "There is nothing called >XForms, it's just a draft...". I didn't mean to sound disruptive. What I wanted to say is, that XForms, well, are just a current working draft, there is no normative specification for it so it is in general unlikely, that you'll find any support for them in current software releases, especially those focussed on different targets. I _do_ think that XForms will be implemented by Microsoft and Netscape, as I hope to see them used in XHTML 2.0, but I see no chance for support, say, this year. I don't even think browser support (or support by browser vendors) is needed for adoption of XForms, there is a wide range of possible applications that gain great advantages by using XForms and I even know of some experimental implementations. I'm sorry if my mail implied something else. >XSLT, for example, took off quite well >without Microsoft and Netscape ever >implementing it in the browser. Microsoft had by the way very early support for XSLT in the Internet Explorer; it was just an implementation of a working draft, but it didn't take too long until Microsoft released a conforming XSLT 1.0 implementation. Comparing XSLT to XForms is however not really fair; forms are an important part of XHTML and therfore of the browsers while XML Transformations aren't. -- Björn Höhrmann { mailto:bjoern@hoehrmann.de } http://www.bjoernsworld.de am Badedeich 7 } Telefon: +49(0)4667/981028 { http://bjoern.hoehrmann.de 25899 Dagebüll { PGP Pub. KeyID: 0xA4357E78 } http://www.learn.to/quote/
Received on Saturday, 4 August 2001 09:29:43 UTC