Flat File Schemas
Purpose of flat file schemas
Flat file schemas serve two purposes. They define all of the same record and field characteristics (including structure) as XML schemas, and they provide a mechanism for defining all of the flat file characteristics that are required to translate a flat file instance message into an equivalent XML instance message (or vice versa). The former purpose is most useful when using the flat file schema within BizTalk Mapper to define a transformation of conforming flat file instance messages into a different, destination structure. The destination structure, defined by the destination schema in BizTalk Mapper, may or may not be governed by a flat file message schema (it could be an XML schema).
The latter purpose, that of translating between the flat file format of the document and its equivalent XML format, uses an extensive set of information that is added to the XML Schema definition (XSD) language schema using its annotation syntax. This information is superfluous from an XSD perspective, in terms of its usefulness in validating an XML instance message against the schema that governs its structure. Nevertheless, the XSD annotation syntax provides a convenient mechanism for storing flat file structure information within the XSD schema within a variety of different scopes, ranging from schema-wide information stored as annotations within the schema element, to information that is specific to a particular record or field, stored as annotations within the corresponding element or attribute element.
Another characteristic of flat file schemas that make them different than their XML counterparts is the fact that instance messages cannot be matched to their governing schemas based on their content. Instead, a static set of schemas must be specified for use by the flat file disassembler at runtime.
To see the additional node properties associated with the characteristics of flat files, you need to specify the Flat File Extension by using the Schema Editor Extensions property of the Schema node. They do not appear by default.
For detailed information about the node properties that are specific to flat file schemas, see the Supplemental Node Properties for Flat File Schemas in the UI guidance and developers API namespace reference.