Last modified on 20 July 2012, at 00:20

XSLTForms/Introduction

XSLTForms is a client-side implementation of XForms. It requires no plug-in in the browser, and it requires no special software on the server.

XSLTForms implements XForms by using XSLT to transform an input XHTML + XForms document to an XHTML+Javascript (AJAX) document; the XSL transformation is unique to XSLTForms.

The transformation can be run wherever an XSLT 1.0 engine is available. Some users run the transform server-side, using Apache and PHP; IIS and .NET; Jetty; or eXist). Others run it client-side, in the user's browser, using the XSLT engines built into Internet Explorer, Mozilla FireFox, Opera, Chrome, and Safari.

XForms is a technology for XML-based forms. It is defined by a specification developed by the World Wide Web Consortium, and many users of XForms use it for forms on the Web, but XForms is designed as a vocabulary module that can be plugged into any host XML vocabulary. One of the most widely used implementations of XForms is embedded in Open Office and uses the Open Document Format (Open Office's XML) as its host vocabulary. For an introduction to XForms you may want to consult a general introduction to the technology (several books have been published on paper and on the Web, including a WikiBook on the subject); in its current state this wikibook mostly focuses on topics specific to the XSLTForms implementation of XForms and won't suffice for you to learn XForms on your own.

This wikibook describes XSLTForms and its use as an XForms implementation. It begins with an introductory section that provides some background information on the package, then continues with some beginning examples. Later sections describe the use of XSLTForms with various HTTP servers and the solutions to common problems. The largest section of the wikibook is a description of the current status of XSLTForms, describing features implemented and not implemented, extensions to the specification and how to use them, and listing known restrictions of the implementation. Note that because XSLTForms is actively maintained, the status section has a disappointing tendency to fall out of date. You may have to take what it says with a grain of salt, and some of the limitations listed there may have been lifted by the time you read this book.