XForms

XForms is an XML format for the specification of user interfaces, specifically web forms. XForms was designed to be the next generation of HTML / XHTML forms, but is generic enough that it can also be used in a standalone manner to describe any user interface, and even perform simple and common data manipulation tasks.

XForms, much like XHTML 2.0 which is being developed and in which XForms will be embedded, is different to previous versions of XHTML. Because of this there is a learning curve for old time developers, but because XForms in general provides a large time savings for the development of enterprise quality web forms, it can be an attractive alternative for many uses.

XForms is not yet ready for general use as of March 2005.

Contents

Differences from HTML forms

Unlike the original HTML forms, the creators of XForms have designed XForms to separate control, content, and presentation resulting in a <model> section which describes submission actions, what data the forms apply to, and constraints upon that data, a <body> section which describe what controls appear in the form and how they are grouped together, and various CSS elements that describe various aspects of the forms appearance (this division is often described as the MVC pattern). An XForms document can be as simple to create as a legacy HTML form (by only specifying the submission element in the model section, and placing the controls in the body), but XForms includes many advanced features. In particular, the user can bind data to an xml file, validate against XML schema data types, require certain data, disable input controls depending on circumstances, change sections of the form depending on circumstances, enforce relations amongst entries, input variable length arrays of data, output entries and quantities derived from entries, prefill entries using an xml file, respond to actions in real time (versus at submission time), and modify the style of each control depending on the device they are displayed on (browser versus mobile versus text only, etc.). There is no need for any scripting.

Like legacy forms, XForms can use various non-XML submission protocols (multipart/form-data, multipart/x-www-url-form-encoded), but a new feature is that XForms can send data to a server in XML format. XML documents can also be used to prefill data in the form. Because XML is a standard, many tools exist that can chop and modify data upon submission, unlike the case with legacy forms where in general the data needs to be parsed and manipulated on a case by case manner (although most programming languages eventually obtained library functions that does the parsing, it is not always simple to find and use these libraries). XForms is itself an XML dialect, and therefore can create and be created from other XML documents using XSLT. Two examples where there is useful are 1). XForms can be automatically created from XML Schemas, and 2). XForms can be converted to legacy XHTML forms: this is basically how server side XForms work today!

Software support

At the time of this writing no widely used web browser supports XForms natively, although Mozilla has begun work on an implementation. On January 25, 2005, it was announced that native support of XForms in Mozilla will be available via the installation of Mozilla extension [1] (http://www.mozillazine.org/talkback.html?article=5959). On February 2, Mozilla Foundation announced beta release of XForms 1.0 recommendation. Openoffice.org will support XForms in version 2.0.

Despite this, XForms can be used today through various server-side technologies which convert XForms documents to legacy HTML forms on the fly and transparently to users, including the open source Chiba and Orbeon projects. Also plug-in and Flash technologies exist which turn browsers into XForms-compliant platforms. The advantage to the open source server technologies is that the resulting output works in theory with almost any browser existing today (the end user will not necessarily notice that they are viewing an XForms page). The advantage to plugins and Flash XForms technology is that these implementations, because they integrate themselves into the browser, can be more responsive, require fewer server fetches, and can present themselves in more exciting ways (i.e. controls that do not already exist in the browser, like sliding scales, can be added to a page). The trade off is that each client must install the required software. A good solution might mix both of these solutions, for instance testing the browser for Flash and serving a glitzy version for those users, but defaulting to a server solution for other users.

XForms for Mobile Devices

Benefits

XForms provides specific benefits when used on mobile devices:

  • User interfaces using XForms require less round trips with the server and are in that sense more self contained than user interfaces using HTML 4 forms.
  • Capabilities of mobile devices vary greatly; consequently the amount of the work involved in generating different user interfaces for different devices is of particular concern in the mobile world. XForms has been designed from the ground up to allow forms to be described independently of the device, which reduces the amount of work required to target multiple devices.
  • XForms reduces the need for JavaScript, which is particularly interesting as JavaScript support varies greatly on mobile devices and cannot be widely relied on.

Implementations

Despite the benefits of XForms for mobile devices, XForms on mobile devices is still an emerging technology at best. Jon S. von Tetzchner, CEO of Opera, producers of the leading browser for mobile devices, says his company is currently considering support for XForms but that in his mind Webforms 2.0 makes more sense on the client side. So far, IBM and Oracle has produces significant initiatives:

  • IBM Forms for Mobile Devices (http://www.alphaworks.ibm.com/aw.nsf/reqs/ifmd) is an implementation of XForms that run on Palm-powered devices and shows how XForms can be used to create form-based enterprise applications running on mobile devices. This package has been released by IBM on alphaWorks, their site showcasing emerging technologies.
  • Oracle Wireless Client (http://www.oracle.com/technology/tech/wireless/mobilebrowser.htm) has released a preview of their Wireless Client in March 2004. Despite its name, the preview contains no software that run on a mobile device. Instead, it is delivered in the form of a plug-in for Internet Explorer, hence maybe the "preview" in the name. The plug-in run XForms client-side, just like the browser would if it supported XForms natively.


See also

References

External links

Navigation

  • Art and Cultures
    • Art (https://academickids.com/encyclopedia/index.php/Art)
    • Architecture (https://academickids.com/encyclopedia/index.php/Architecture)
    • Cultures (https://www.academickids.com/encyclopedia/index.php/Cultures)
    • Music (https://www.academickids.com/encyclopedia/index.php/Music)
    • Musical Instruments (http://academickids.com/encyclopedia/index.php/List_of_musical_instruments)
  • Biographies (http://www.academickids.com/encyclopedia/index.php/Biographies)
  • Clipart (http://www.academickids.com/encyclopedia/index.php/Clipart)
  • Geography (http://www.academickids.com/encyclopedia/index.php/Geography)
    • Countries of the World (http://www.academickids.com/encyclopedia/index.php/Countries)
    • Maps (http://www.academickids.com/encyclopedia/index.php/Maps)
    • Flags (http://www.academickids.com/encyclopedia/index.php/Flags)
    • Continents (http://www.academickids.com/encyclopedia/index.php/Continents)
  • History (http://www.academickids.com/encyclopedia/index.php/History)
    • Ancient Civilizations (http://www.academickids.com/encyclopedia/index.php/Ancient_Civilizations)
    • Industrial Revolution (http://www.academickids.com/encyclopedia/index.php/Industrial_Revolution)
    • Middle Ages (http://www.academickids.com/encyclopedia/index.php/Middle_Ages)
    • Prehistory (http://www.academickids.com/encyclopedia/index.php/Prehistory)
    • Renaissance (http://www.academickids.com/encyclopedia/index.php/Renaissance)
    • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
    • United States (http://www.academickids.com/encyclopedia/index.php/United_States)
    • Wars (http://www.academickids.com/encyclopedia/index.php/Wars)
    • World History (http://www.academickids.com/encyclopedia/index.php/History_of_the_world)
  • Human Body (http://www.academickids.com/encyclopedia/index.php/Human_Body)
  • Mathematics (http://www.academickids.com/encyclopedia/index.php/Mathematics)
  • Reference (http://www.academickids.com/encyclopedia/index.php/Reference)
  • Science (http://www.academickids.com/encyclopedia/index.php/Science)
    • Animals (http://www.academickids.com/encyclopedia/index.php/Animals)
    • Aviation (http://www.academickids.com/encyclopedia/index.php/Aviation)
    • Dinosaurs (http://www.academickids.com/encyclopedia/index.php/Dinosaurs)
    • Earth (http://www.academickids.com/encyclopedia/index.php/Earth)
    • Inventions (http://www.academickids.com/encyclopedia/index.php/Inventions)
    • Physical Science (http://www.academickids.com/encyclopedia/index.php/Physical_Science)
    • Plants (http://www.academickids.com/encyclopedia/index.php/Plants)
    • Scientists (http://www.academickids.com/encyclopedia/index.php/Scientists)
  • Social Studies (http://www.academickids.com/encyclopedia/index.php/Social_Studies)
    • Anthropology (http://www.academickids.com/encyclopedia/index.php/Anthropology)
    • Economics (http://www.academickids.com/encyclopedia/index.php/Economics)
    • Government (http://www.academickids.com/encyclopedia/index.php/Government)
    • Religion (http://www.academickids.com/encyclopedia/index.php/Religion)
    • Holidays (http://www.academickids.com/encyclopedia/index.php/Holidays)
  • Space and Astronomy
    • Solar System (http://www.academickids.com/encyclopedia/index.php/Solar_System)
    • Planets (http://www.academickids.com/encyclopedia/index.php/Planets)
  • Sports (http://www.academickids.com/encyclopedia/index.php/Sports)
  • Timelines (http://www.academickids.com/encyclopedia/index.php/Timelines)
  • Weather (http://www.academickids.com/encyclopedia/index.php/Weather)
  • US States (http://www.academickids.com/encyclopedia/index.php/US_States)

Information

  • Home Page (http://academickids.com/encyclopedia/index.php)
  • Contact Us (http://www.academickids.com/encyclopedia/index.php/Contactus)

  • Clip Art (http://classroomclipart.com)
Toolbox
Personal tools