http://sandeepshewale.spaces.live.com/blog/cns!597AD44E67439214!212.entry
which in turn takes to this site.
http://kbalertz.com/884622/Parsing-complex-BizTalk-Server.aspx
Parsing a complex flat file may fail in BizTalk Server 2006 and in BizTalk Server 2004
SYMPTOMS
When you try to parse a complex flat file in Microsoft BizTalk Server 2006 or in Microsoft BizTalk Server 2004, the parser may fail, and you may receive an error message that is similar to one of the following error messages:
Error message 1
Unexpected Data Found while looking for ElementName
Error message 2
Unable to match the data in the input stream
CAUSE
This problem may occur when the parser_optimization property is set to the default value of "speed" in the schema. Additionally, if you have many optional nodes in the same group or record, the lookahead_depth property may not be set correctly.
RESOLUTION
To resolve this problem, set the parser_optimization property to "complexity" and the lookahead_depth property to "0" (zero) in the schema. The parser_optimization property and the lookahead_depth property are not present in the user interface. You must manually change the properties in the schemaInfo element, as in the following example:
MORE INFORMATION
BizTalk Server has the following two modes for the algorithm to parse a flat file into XML:
"speed" "complexity"By default, the setting for the parser_optimization property is "speed." This setting is optimized to decrease parsing time. The "speed" setting can handle most flat files but cannot deal with all the ambiguities that the "complexity" setting can. The "complexity" mode is not quick but can handle a wider range of ambiguities.There are five properties that cannot be changed in the BizTalk Server 2004 user interface. The following table lists the flat file node properties:
Collapse this tableExpand this table
Property
Values
Default value
Description
suppress_empty_nodes
true or false
false
Indicates whether to remove empty XML nodes after the parser generates XML instance data.
generate_empty_nodes
true or false
true
Generates empty nodes for records that exist in the XML instance data.
parser_optimization
speed or complexity
speed
Optimizing for speed decreases the parsing time at the cost of dealing with some ambiguities in data. Optimizing for complexity handles a wider range of ambiguities at the cost of processing speed.
lookahead_depth
Any positive integer. A value of 0 (zero) indicates infinite lookahead.
3
Indicates how far to look ahead for matching data.
allow_early_termination
true or false
false
Indicates whether positional records can terminate early (true) or must contain data for all record fields (false).Note If you set the allow_early_termination property to true, early termination of a positional record is permitted in cases where the right-most or outermost field is less than its defined length.