XFA - Wikipedia
XFA - Wikipedia
XFA (also known as XFA forms) stands for XML Forms Architecture, a family of proprietary XML
specifications that was suggested and developed by JetForm to enhance the processing of web
forms. It can be also used in PDF files starting with the PDF 1.5 specification. The XFA
specification is referenced as an external specification necessary for full application of the ISO
32000-1 specification (PDF 1.7). The XML Forms Architecture was not standardized as an ISO
standard,[3] and has been deprecated in PDF 2.0.[4]
forms."[5] The XFA proposal was submitted to Website Adobe XML Forms
the W3C in May 1999. Architecture (http://p
artners.adobe.com/p
In 2002, the JetForm Corporation was ublic/developer/xml/i
ndex_arch.html)
acquired by Adobe Systems, and the latter
introduced XFA forms with PDF 1.5 and the
subsequent Acrobat releases (6 and 7) in 2003.[6]
XFA forms are saved internally in PDF files or as XDP (XML Data Package) files which can be
opened in Adobe's LiveCycle Designer software. An XDP can package a PDF file, along with XML
form and template data.[7] XDP provides a mechanism for packaging form components within a
surrounding XML container.
Although XFA can make use of PDF, XFA is not tied to a particular page description language.
The XFA specification includes an appendix that discusses details of the Adobe-specific XFA
implementation and behaviors of Adobe products that deviate from the XFA specification.
Data filled in an XFA form may be submitted to a host using an HTTP POST operation in XDP
format, PDF format, XFDF format, XML 1.0 format or as an URL-encoded format.
XFA supports the use of XSLT to transform the XML data before it is loaded to XFA Data DOM or
after it is unloaded from XFA Data DOM.
One of XFA approaches to pagination duplicates the pagination logic and much of the syntax of
XSL-FO.
XFA defines static forms (since XFA 2.0 and before) and dynamic forms (since XFA 2.1 or 2.2).
In a static form the form’s appearance and layout is fixed, regardless of the field content. Any
unfilled fields are present in the form. By default, static forms do not require re-rendering. XFA
recognises two types of static forms: "old-style static forms" (using "full XFA") and XFAF (a
subset of full XFA, defined since XFA 2.5).
Dynamic forms (defined since XFA 2.1 or 2.2) can change in appearance in several ways in
response to changes in the data. Dynamic form requires rendering of its content on file opening.
Dynamic forms may also be designed to change structure to accommodate changes in the
structure of the data supplied to the form. For example, a page of a form may be omitted if there
is no data for it. Another example is a field that may occupy a variable amount of space on the
page, resizing itself to efficiently hold its content. Dynamic form cannot rely on a PDF
representation of its boilerplate, because the positioning and layout of the boilerplate change as
the fields grow and shrink or as subforms are omitted and included.
PDF 1.7 supports two different methods for integrating data and PDF forms.[3][8]
AcroForms (also known as Acrobat forms), introduced and included in the PDF 1.2 format
specification.
Adobe XML Forms Architecture (XFA) forms, introduced in the PDF 1.5 format specification as
an optional feature (The XFA specification is not included in the PDF specification, it is only
referenced.)
Adobe XFA Forms are not compatible with AcroForms. When an XFA is packaged inside a PDF
file, it is placed in the AcroForm document resources dictionary ("Shell PDF") or referenced from
the AcroForm entry in the document catalog.
Creating XFA Forms for use in Adobe Reader requires Adobe LiveCycle Designer.[9] Adobe Reader
contains "disabled features" for use of XFA Forms, that will activate only when opening a PDF
document that was created using enabling technology available only from Adobe.[10][11] The XFA
Forms are not compatible with Adobe Reader prior to version 6.
Profiles
Starting with XFA 2.5 forms can use a subset of the full XFA capability. Currently the only
specified is the XFAF profile.
full XFA - which express all of the form, including boilerplate, directly in XFA (without any PDF
or without a complete PDF background). It can be packaged inside a "shell PDF" with minimal
PDF markup or as a standalone XDP. It is used for dynamic XFA forms (since XFA 2.1) and also
for so called "traditional" (old-style) static XFA forms. Optionally it may include a pre-rendered
depiction of the XFA form as PDF pages - but it is useful only for traditional static forms.
Dynamic XFA must be rendered on file opening.
XFAF (XFA Foreground) subset - (introduced in XFA 2.5) - a form in which each page of the XFA
form overlays a PDF background. It can be used only for static XFA forms. This architecture
uses only a subset of XFA.[12] It can be packaged inside a regular PDF document or as a
standalone XDP file with embedded PDF. In XFAF each XFA field corresponds to a PDF
interactive field (AcroForm field).
Packaging
XFA forms can be created and used as PDF 1.5 - 1.7 files or as XDP (XML Data Package). The
format of an XFA resource in PDF is described by the XML Data Package Specification.[13] PDF
may contain XFA in XDP format, but XFA may also contain PDF.[7]
When the XFA (XML Forms Architecture) grammars used for an XFA form are moved from one
application to another, they must be packaged as an XML Data Package. The XDP may be a
standalone document or it may in turn be carried inside a PDF document.[12]
inside a "Shell PDF" - used for the "full XFA" form (dynamic or traditional static) - A Shell PDF
file contains only a minimal skeleton of PDF markup plus the complete XFA content, any fonts
and images needed for rendering of the form. It minimizes the file size and the rendering
overhead is moved from the server to the client.
Packaging an XDP within PDF has the advantage that it is more compact, because PDF is
compressed. XDP in PDF can be digitally signed in ways that a standalone XDP cannot.
In contrast, packaging form components within an XML container (XDP) makes it easy for
standard XML applications to work with XFA forms. The XML components are human readable
and easy editable (in contrast with PDF source code). When in XDP form, an XFA document may
be validated using schemas attached to XFA specification.
Compatibility
Most PDF processors do not handle XFA content. When generating a shell PDF it is
recommended to include in the PDF markup a simple one-page PDF image displaying a warning
message (e.g. "To view the full contents of this document, you need a later version of the PDF
viewer.", "The full content of this file cannot be displayed with your current PDF viewer.", "Please
wait... If this message is not eventually replaced by the proper contents of the document, your
PDF viewer may not be able to display this type of document.", etc.). PDF processors that can
render XFA content should either not display the supplied warning page image or replace it
quickly with the dynamic form content.
In 2013, as a solution for mobile platforms and desktop platforms without XFA support, Adobe
created software that creates online HTML5 fillable forms from XFA (known as Adobe "Mobile
Forms"). Mobile Forms are not a single file like a PDF or XDP.[14][15]
Rich text
Rich text may appear in data supplied to the XFA forms, in XFA templates as default text values,
as field captions, or as boilerplate (draw) content.
Starting with PDF 1.5 (XFA 2.02), the text contents of variable text form fields, as well as markup
annotations, may include formatting information (style information). These rich text strings are
XML documents that conform to the rich text conventions specified for the XML Forms
Architecture specification, which is itself a subset of the XHTML 1.0 specification, augmented
with a restricted set of CSS2 style attributes.[13]
In PDF 1.6, PDF supports the rich text elements and attributes specified in the XML Forms
Architecture (XFA) Specification, 2.2. In PDF 1.7, PDF supports the rich text elements and
attributes specified in the XML Forms Architecture (XFA) Specification, 2.4.[13] It was announced
in 2011 that PDF 2.0 (ISO 32000 Part 2) would reference XFA 3.1,[16] but when published, PDF 2.0
deprecated it.[4]
PDF/A
When an XFA form is converted to PDF/A, both the boilerplate and field content are flattened into
a PDF appearance stream. PDF/A forbids active content and all XFA content except, optionally,
the XML Data Document (forms data created by a user).
Standardization
The XML Forms Architecture specification is not included in the PDF 1.7 standard (ISO 32000-
1:2008) and it is only referenced as an external proprietary specification created and published
by Adobe. However, the ISO 32000-1 references XFA as normative and indispensable for the
application of the ISO 32000-1 specification. XFA was not standardized as an ISO standard.
Since 2007, development of PDF standard has been conducted by ISO's Technical Committee
171/Subcommittee 2/Working Group 8 (TC 171/SC 2/WG 8).
In 2011 the ISO Committee urged Adobe Systems to submit the XFA Specification, XML Forms
Architecture (XFA), to ISO for standardization, and requested that Adobe Systems stabilize the
XFA specification. The Committee expressed its concerns about the stability of the XFA
specification.[16]
Adobe Adobe
XFA Year of Referenced in
New features Acrobat Designer
version publication PDF version
version version
2.02 2003 1.5 XFA 2.0 supports only static forms 6.0 6
1.7 Adobe
Locale set typefaces, New set of rules for picking 8.1,
2.7 2008 Extension Level ES 8.1.2
alternate fonts 8.1.1
3
See also
4. "PDF 2.0: The worldwide standard for electronic documents has evolved – PDF Association"
(https://www.pdfa.org/intro/pdf-2-0-the-worldwide-standard-for-electronic-documents-has-e
volved/) . Retrieved 2018-12-05.
14. Adobe Reader Mobile and XFA forms from LiveCycle Designer (http://blogs.adobe.com/livecy
cle/2014/04/adobe-reader-mobile-and-xfa-forms-from-livecycle-designer.html) , 2014-04-
16, "Adobe Reader Mobile does not support XFA based PDF's created in the LiveCycle
Designer and it will not provide this support in the future."
15. Feature differentiation between Mobile Forms and PDF Forms (http://helpx.adobe.com/livecy
cle/help/mobile-forms/feature-differentiation-mobile-forms-pdf.html) , retrieved
2014-04-22
External links