Stephen Cameron - 2012-01-22

Schema2XForms is a simple tool for building web forms. It has been built to demonstrate the unique capabilities of several interrelated technologies developed through the World Wide Web Consortium (W3C), the non-profit organisation that guides the evolution of the Internet.

These technologies include:
XML: A language for flexibly creating structure in text documents (via 'tags'), allowing the structure and content of a document be understood, validated and utilised by computers.
XForms: An improved web forms technology that provides a means for people to indirectly build XML and other format documents via a familiar Graphical User Interface (GUI).
XML Schema: A means of defining the valid structure and content of XML documents (a 'data-model' or 'schema') such that automated validation of such documents is possible.
XSLT: Provides a way to utilise the structure in XML documents (via a kind of Artificial Intelligence) to produce transformed (or derived) documents.

The Schema2XForms project has a simple purpose which is to provide an easy to use tool that allows users to create their own XForms which they can then use for building, saving and retrieving XML documents.

These XForms are not created directly but rather are generated from a user designed schema in the form of an XML Schema document. Once the schema has been created it is transformed automatically via XSLT to generate one or more XForms. The generated XForms can then used for building XML conforming to the user designed data-model.

Whilst this project aims to demonstrate several complementary XML technologies working together to provide a useful tool, it does not claim to utilise the full capabilities XML Schema. There are several XML schema languages and many highly developed schema design tools; this project focuses on the capabilities of XForms based GUIs to build - in a user-friendly manner - highly structured documents of which XML Schema is a good example.

So-called 'schema generated forms' are often discussed as being a good idea to avoid unnecessary effort, with many examples in use, but there are significant problems in transforming a schema into a GUI fully automatically, usually some level of human enhancement of the generated product is necessary. This project aims to show that the technologies listed provide some unique solutions to the associated problems.

Another aspect that this project explores is specifically regarding XForms. Presently XForms isn't supported by any browsers natively and has only been adopted (via support 'emulation' techniques) in restricted environments such as business intranets. Despite this low level of adoption, XForms offer some significant advantages; these include being highly responsive, having the ability to define complex data validation scenarios and also good development efficiency generally.

Other XForm design tools exist already that are schema aware, these place the emphasis on allowing the user to define the XForm and in-the-process to make use of schema information. This project tries an alternative approach that allows more efficiencies to be achieved via leveraging of the capabilities of XML Schema and XSLT more fully. It potentially can produce simple XForms very quickly and easily and, via customisations, be used in more complex scenarios and continuously as schemas evolve over time.

 

Last edit: Stephen Cameron 2012-09-16