FFD provides a way to provide XML markup for flat files.  It defines how to convert between the structure of a flat file and the structure of the XML markup.  It defines how to convert between the lexical form of data values in the flat file and the XML value space.

It does not define a way to convert between flat file data and XML attributes (as attributes are unordered). FFD files are represented as XML, and tools like Contivo provides an XML Schema for correct FFD files, which can be used to validate FFDs, or to generate them using third party schema based XML tools. Some FFD processing model characteristics are described below:

FFD Structure: 

A FFD file has a well defined structure as described below

The <File> element - The root XML element of an FFD file is the <File> element.  <File>
elements have the following structure





The name attribute is required, and the syntax element is optional. The contents of the <File> element is zero or more <Syntax> elements, followed by zero or more <InputFilter> elements, followed by zero or more <Variable> elements, followed by zero or more <Choice>, <Group>, <Field>, <Literal>, <Assign>, or <Peek> elements, in any order.

In addition, if the syntax attribute is specified, the value must be the name of one of the <Syntax> elements that are specified as the first children of the <File> element.

The version attribute will hold the value "2.0".

Content description:

A group is an ordered set of <Literal>s, <Field>s, <Assign>s, <Choice>s, and sub<Group>s.  The parser expects to find the children in the declared order.  <Field>s and sub<Group>s may repeat, subject to the minOccurs and maxOccurs on those child elements.  Delimiters will be expected for all but the first child of the <Group> that is parsed.  The delimiter is expected to appear before the child in question.

That is, if a <Group> had children

  <Literal1> <Field1> <Field2> <Group1>

then delimiters would be expected (if declared) for <Field1> <Field2> and <Group1>.  If <Group> had children

   <Group1> <Group1> <Group2>

then delimiters would be expected before the second occurrence of <Group1> and before <Group2>.

A sample FFD file is given below:






Enter your email address:

Delivered by FeedBurner

Sandeep Joshi
Mathematics, Technology and Programming are my passion. I am a part of Java Ecosystem and through this blog, I contribute to it. I am here to blog about my interests, views and experiences.
I am on Google+ and Facebook.
I feel proud to be listed as a "National Memory Record Holder" in the Limca Book of Records, 2009 and have attempted for an International Memory record in the Guiness Book of Records. I can remember the value of PI upto 10,000 digits after the decimal (3.1415.....). You can contact me on javagenious.com(At)gmal.com ; I would like to hear from you :)