Origin and goals

XFDL is a powerful, complex forms definition syntax that promotes application interoperability and adherence to worldwide Internet standards.

From 1993 to 1998, PureEdge (since acquired by IBM®) developed the Universal Forms Description Language (UFDL). XFDL is the result of developing an XML syntax for the UFDL, thereby permitting the expression of powerful, complex forms in a syntax that promotes application interoperability and adherence to worldwide Internet standards. The current design goals of XFDL are to create a high-level computer language that:

  1. Represents forms as single objects without dependencies on externally defined entities, thus allowing them to act as contractual documents.
  2. Is represented by human-readable plain text.
  3. Is a publicly accessible open standard.
  4. Provides a syntax for inline mathematical and conditional expressions.
  5. Permits the enclosure of an arbitrary size and number of base-64 encoded binary files.
  6. Offers precision layout needed to represent and print dense business/government forms.
  7. Facilitates server-side processing via client-side input validation and formatting.
  8. Permits extensibility including custom items, options, and external code functions.
  9. Offers comprehensive signature support, including:
    • Capture of the whole context of a business transaction
    • Multiple signers
    • Different signers of (possibly overlapping) portions of a form
    • Freezing computations on signed portions of a form

Maintaining the data, logic, and presentation layers in a single, legally binding document is a paradigm shift in electronic commerce, which traditionally separates each layer. The decision to use a more document-centric model was not made lightly; it was necessary to provide legal non-repudiation.

The original version of XFDL was published as a W3C Note in 1998. A number of features of XFDL have since been incorporated into a W3C Recommendation called XForms in 2003. XForms defines constructs for a standard XML-based data model, input validation, calculations, constraints, and other properties, server submission characteristics, event-based action sequences, and a user interface vocabulary that includes the ability to hierarchically group and to iterate user interface controls. XForms standardizes the core business processing model of a web application, but it is designed to be incorporated into host languages that provide extensions as necessary to satisfy diverse additional requirements of Web applications. XForms leaves to the host language the task of providing the presentation definition of the user interface such as fonts and colors and other augmentations. The XFDL language now incorporates XForms and augments its functionality with many additional features such as precise layout and digital signatures.