Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Extensible Forms Description Language

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Extensible Forms Description Language
Description

Extensible Forms Description Language (XFDL), as described on FilExt.com is an XML-based, specifically XML_1.0 language for creating digital forms, defining "the layout, form control, form validation, input constraints, and submission script for a single- or multi-page form...XFDL is mainly used to create and interchange digital forms between businesses and government agencies." Extensible Forms Description Language Wikipedia states, "XFDL offers precise control over form layout, permitting replacement of existing business/government forms with electronic documents in a human-readable, open standard."

The Extensible Forms Description Language (XFDL) 4.0 W3C Note, dated September 2, 1998, is the most current specification of XFDL found, see notes for more information. As stated in the XFDL Specification status, "This document is the initial draft of the specification of the XFDL facility. It is intended for review and comment and is subject to change. This document is a NOTE made available by the W3C for discussion only. This indicates no endorsement of its content, not that the Consortium has, is or will be allocating resources to the issues addressed by the NOTE. This document is a Submission to W3C from UWI Unisoft Wares Inc."

The XFDL Specification describes the XFDL document forms using a class of XML, also the specification describes XFDL processor defined as "software programs that reads, processes, and writes XFDL forms," and the goals for the XFDL high-level computer language, including:

  • Represents forms as single objects.
  • Human-readable plain text.
  • Public open standard.
  • Syntax for inline mathematical/conditional expressions.
  • Permit enclosure of arbitrary size and number of base-64 encoded binary files.
  • Precision layout - represent and print dense business/government forms.
  • Server-side processing via client-side validation and formatting.
  • Extensibility including custom items and options.
  • Comprehensive digital signature support.

The XFDL Specification describes the Structure of XFDL forms:

  • Top-Level Structure:
    • root element = XFDL, has required version attribute (numeric dotted triplet - major, minor, and maintenance versions).
    • May have scope identifiers (sid) attribute - scope identifier.
    • XFDL elements - contains option elements, followed by page elements.
    • form global options - option elements that occur before first page.
      • Typically contain whole form information or default option settings for page element content.
  • page elements - contains page global options, followed by items elements.
    • Typically contain whole form information or default option settings for page element content, they take precedence over global options.
    • Required to have a sid attribute.
    • Multiple pages allow the users to view pages one at a time, where each page contains items describing the GUI widgets for users to switch pages, XFDL allows those items to be defined in the form for better control of page flow.
  • Items:
    • Single object in a page, can represent GUI widgets (buttons, popup lists, text fields).
    • Other items carry information, such as an enclosed word processing document, a digital signature, or an application-specific job description.
    • Can contain option elements, which define characteristics of the items.
    • Each item is required to have a sid attribute.
    • XFDL Specification - has a partial list of items and their descriptions.
  • Options and Array Elements:
    • Options can appear as - global, page global, or the contents of items.
      • Defines a named attribute of item, page, or form.
  • XFDL Specification - has a partial list of options and their descriptions.
    • Content can have one of three forms (identified by content attribute): simple character date (default), compute, or an array of subordinate XML elements.
  • Base-64 Encoding:
    • Mimedata option is used for storing base-64 binary data, such as digital signatures, images, or word or spreadsheet documents.
    • Binary data may be long, XFDL processors "pretty print" lines of base-64.
  • Scope Identifiers (sid):
    • Identifies element/logical parent element.
  • Document Reproducibility:
    • XFDL processors expected to preserve XML prolog and epilog, XFDL element comments, and element attributes in start tags.
    • XFDL processors must reproduce language components for digital signatures and saving/transmitting form.

The XFDL Specification describes the XFDL Compute System, defining an XFDL compute as "the default infix notation for expressing computation expressions." Syntax and operation of computes are described in the specification, including structure of mathematical and conditional expressions, quoted strings, and function calls.

IBM Workplace Forms, XFDL Specification states, "an XFDL compute is an expression that controls the character content of an element at or below the element depth of an XFDL option."

Uses of XDFL Forms:

According to XFDL Wikipedia, XFDL had many advantages that "led large organizations such as the United States Army and Air Force to migrate to XFDL from using forms in other formats. Later, though, the lack of portable software capable of creating XFDL led them to investigate moving away from it. The Army migrated to Adobe fillable PDFs in 2014."

See Adoption for more information.

Production phase Can be used across any production phase: for creating XFDL digital forms (initial forms); for editing and review (middle state); and the interchange (final state) of business/government forms.
Relationship to other formats
    Defined via XML_1.0, Extensible Markup Language (XML) 1.0. XFDL Specification, "XFDL instances are XML documents; the form definition is encoded using XML elements and attributes." XFDL Specification references Extensible Markup Language (XML) 1.0. W3C Recommendation 10 FEB 1998. See (https://www.w3.org/TR/1998/REC-xml-19980210).

Local use Explanation of format description terms

LC experience or existing holdings The Library of Congress has a small amount of XFDL files in its collections
LC preference See the Library of Congress Recommended Formats Statement for format preferences for textual works.

Sustainability factors Explanation of format description terms

Disclosure Publicly Accessible Open Standard. As stated in the XFDL Specification, "The current design goals of XFDL are to create a high-level computer language that is a publicly accessible open standard...This version of the XFDL specification may be distributed freely, as long as all text and notices remain intact."
    Documentation

Extensible Forms Description Language (XFDL) 4.0 | W2C Note, September 2, 1998. See (https://www.w3.org/TR/NOTE-XFDL).

"This document is the initial draft of the specification of the XFDL facility. It is intended for review and comment and is subject to change. This document is a NOTE made available by the W3C for discussion only. This indicates no endorsement of its content, not that the Consortium has, is or will be allocating resources to the issues addressed by the NOTE."

Adoption

According to Mel Hawthorne in the article, What are XFDL Files?, January 2020, "This is a variation of the XML file type that was created by an IBM-owned company for use with secure electronic forms. These files are often used in business or government settings where the secure transfer of data is absolutely necessary - they can also find use in online transactions where, once again, security is paramount."

Open-File.org'sOpen XFDL File page, August 2020, states XFDL files "are able to securely send and receive those XML documents which are legally binding. These files are used vastly in the field of e-commerce due to legal technicalities and the important security reasons...It is the secured form of the XML files...These files are also used to store the standardized and interchangeable types of business forms."

Audrey Goodwin in WonderShare.com's article, Learn How to Easily Convert XFDL to PDF, April 2023, states "Due to their XML features, the XFDL format was adopted by a large number of organizations such as the US Army, Airforce, and Navy. Although with time and improvements in PDF document format, a number of organizations are switching from XFDL to PDF converter."

Comments welcome.

    Licensing and patents

No known license or patent concerns for generation and use of the format.

Comments welcome.

Transparency

XML is human-readable and designed for straightforward automatic parsing.

As stated in the XFDL Specification, "The current design goals of XFDL are to create a high-level computer language that is a human readable plain text...To increase human readability, XFDL supports multiline string continuation."

Comments welcome.

Self-documentation

Little to no information found on XFDL's support of metadata. As stated in XFDL Specification, "In XFDL, the mimedata option is used to store base-64 encoded binary data such as digital signatures, images, enclosed word processing or spreadsheet documents, etc. Base-64 encoding uses no characters that are illegal in character data, so mimedata content can be stored in a mimedata option element as simple character data. The only caveat is that since binary data tends to be long, XFDL processors are expected to "pretty print" the lines of base 64 using tabs, spaces and linefeeds such that the content appears to be indented with respect to the mimedata tags in text editors that wrap lines after 80 characters. However, since XML preserves whitespace in element content, base-64 decoders for XFDL must be able to ignore an arbitrary amount of whitespace in the data."

Comments welcome.

External dependencies

None. As stated in the XFDL Specification, a design goal of XFDL for creating a "high-level computer language that represents forms as single objects without dependencies on externally defined entities."

Comments welcome.

Technical protection considerations

IANA.org XFDL Security Considerations: "XFDL (Extensible Forms Description Language) is an XML-based language designed to represent complex business forms on the Web. XFDL includes support for multiple overlapping digital signatures, and auditable transaction records. We believe that XFDL can provide full non-repudiation of contractual forms. Protecting the privacy of an XFDL document during transmission is done using common http encryption techniques. Some thought has been given to providing a built-in system on encryption to protect the privacy of XFDL document while they reside in a file system, but no such system exists at this time."

Comments welcome.


Quality and functionality factors Explanation of format description terms

Text
Normal rendering

Some support. As stated in the XFDL Specification, "XFDL instances are XML documents; the form definition is encoded using XML elements and attributes. In addition, XFDL imposes many constraints on the contents of the elements and the values of the attributes."

  • Nesting/Sequence Relationships between Elements/Attributes are given, where possible, in DTD Notation.
  • Constraints on element content/attributes values are given in BNF notation, XML specification.
  • "XFDL allows the insertion of arbitrary non-XFDL elements in certain well-defined places."
  • "The lexical structure of a sid differs from the XML language rule Name, which used to define the lexical structure of attribute values of type ID. The dash, period, and colon are not permitted in a sid due to conflicts with their use as the subtraction symbol, relative scope membership operator, and ternary conditional operator (?:), respectively. The lexical structure of a sid is not designed as a replacement for the XML ID feature, which assigns a globally unique name to an element."

Comments welcome.

Integrity of document structure

Some support. The XFDL Specification states the design goal of XFDL for creating a "high-level computer language that offers precision layout needed to represent and print dense business/government forms."

Little to no information found on document navigation.

Comments welcome.

Integrity of layout and display

Some support. As stated in the XFDL Specification, "XFDL requires comprehensive presentation control and data typing machinery. This document describes a set of elements and attributes that meet these requirements. It may be the case that the presentation controls can be replaced by a W3C-specified stylesheet facility; however, it is not clear which one should be used for this purpose...Similarly, it is almost certainly the case that XFDL's data typing controls can and should be replaced by a W3C-standardized set of data type specifiers when one becomes available."

Comments welcome.

Support for mathematics, formulae, etc.

Some support. As described in the XFDL Specification, XFDL computes can be either mathematical or conditional expressions. A 'Decision' is the first part, "Decision is capable of performing comparisons on the results of mathematical expressions...A mathematical expression, denoted Expr, can include addition, subtraction, string concatenation, multiplication, division, integer modulus, unary minus, and exponentiation. All mathematical operators are left associative except unary minus and exponentiation. Further, proper order of operations is observed. Parentheses can be used to override the order of operations as shown in the non-terminal Value."

Comments welcome.

Functionality beyond normal rendering

None.

Comments welcome.


File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension xfdl
Per IANA.org XFDL. See (https://www.iana.org/assignments/media-types/application/vnd.xfdl).
Filename extension xfd
Per IANA.org XFDL. See (https://www.iana.org/assignments/media-types/application/vnd.xfdl). See Notes for more information.
Filename extension frm
Per IANA.org XFDL. See (https://www.iana.org/assignments/media-types/application/vnd.xfdl). See Notes for more information.
Internet Media Type application/vnd.xfdl
Per IANA.org XFDL. See (https://www.iana.org/assignments/media-types/application/vnd.xfdl).
Internet Media Type application/xml
Per XFDL Wikipedia. See (https://en.wikipedia.org/wiki/Extensible_Forms_Description_Language).
Internet Media Type text/xml (deprecated)
Per XFDL Wikipedia. See (https://en.wikipedia.org/wiki/Extensible_Forms_Description_Language).
Pronom PUID See note.  No PRONOM PUID as of May 2023
Wikidata Title ID See note.  No Wikidata entry as of May 2023.

Notes Explanation of format description terms

General

Specifications:

XFDL Wikipedia states "See specifications below for links to current versions of XFDL," but links are expired or error in connecting.

Extensible Forms Description Language (XFDL) 8.0 See (https://www.ibm.com/support/knowledgecenter/en/SSS28S_8.1.0/XFDL/xfdl_overview.html). Link states, "Product version no longer published."

Extensible Forms Description Language (XFDL) 7.7 See (http://publib.boulder.ibm.com/infocenter/forms/v3r5m1/topic/com.ibm.form.designer.xfdl.doc/XFDL%20Specification%207.7.pdf). Page errors when connecting. Internet archive, January 2022, "Got an HTTP 301 response at crawl time." See (https://web.archive.org/web/20220120205543/https://www.ibm.com/support/knowledgecenter/api/redirect/forms/v3r5m1/topic/com.ibm.form.designer.xfdl.doc/XFDL%20Specification%207.7.pdf).

Comments welcome.

File Extensions:

As stated on File-Extension.org'sWhat is a XFD file?, "XFD is a Microsoft Windows-exclusive format used by now-discontinued software application IBM Lotus Forms Viewer. XFD format used the XFDL format and saves data as plain text." XFDL Specification does not mention this extension.

The XFDL Specification defines the Option 'filename' as a string identifying the name of the enclosed file with usage notes: "To ensure cross-platform compatibility, limit form names to a maximum of eight characters, followed by a .frm extension." FRM extension is not mentioned elsewhere in the XFDL Specification.

According to the EDGAR Technical Specification, December 2010, Filer-Constructed File Format section provides requirements for creating XFDL files, stating "a filer-constructed file submission file name must end with an .xfd, xfdl, or .frm extension. We recommend the .xfd extension, since several commercial software products use the .frm file type (for example, Visual Basic). Under Microsoft Windows, a user may find the .frm file type already registered with another software program on his workstation."

  • EDGAR Technical Specification Purpose: "The EDGARLink portion of the Electronic Data Gathering, Analysis, and Retrieval (EDGAR) web-based filing environment is based on the PureEdge (formerly UWI.COM) Extensible Forms Description Language (XFDL) forms specification, which is an extension of the Extensible Markup Language (XML) specification."

IBM Forms 8.2.1 provides information on installing, maintaining, and using IBM Forms, including IBM Forms Designer, IBM Forms Server, and IBM Forms Viewer. It also provides a XFDL Specification (very similar to W3C XFDL Specification, but not exact). The Form Names and Extensions section states, "To ensure cross-platform compatibility, form names should avoid the use of characters that are illegal under popular operating systems or in URLs. Form names should also include the .xfdl extension. The extension .xfd can also be used, but it should be avoided if possible."

XFD Wikipedia has XFD listed as "a filename extension sometimes used for the files in the Extensible Forms Description Language."

Comments welcome.

History Audrey Goodwin in the article, Learn How to Easily Convert XFDL to PDF, states, "XFDL file format was developed from Universal Forms Description Language (UFDL). UFDL was developed by Pure Edge Solutions forms during 1990s for working with forms." Crunchbase.comCompany Profile of PureEdge Solutions states, "PureEdge Solutions, Inc. was formerly known as UWI.Com. The company was founded in 1993 and is headquartered in Victoria, Canada with additional offices in the United States...IBM acquired PureEdge August 5, 2005." As described on XML.CoverPages.org, UWI.com Unveils First XML-Based Protocol for Complex Business Forms on the Web, August 17, 1998, UWI.com unveiled XFDL, "the first open, XML-based protocol for creating, viewing, and filling complex business forms on the Internet. XFDL was authored by UWI.Com and Tim Bray, co-editor of the XML specification...Because XFDL is based on the public XML standard that was approved by the World Wide Web Consortium (W3C), users of XFDL forms are not locked into a proprietary vendor format. UWI.Com, an emphatic supporter of open standards, is a member of the W3C and actively supports the standards process."

Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 03/04/2024