BizTalk FlatFile Schema multiple repeating records

笑着哭i 提交于 2019-12-11 08:56:10

问题


I have a flat file and I need to create a schema so I can convert that flat file into XML and bring it to BizTalk.

I have used flat file schema wizard to create a schema but it is not working. I've modified it manually still not working. I will explain what is not working.

Flat File structure:
File header
Batch header
Detail (repeating records)
Address (repeating records)
Trailer
END

After creating the schema I'm trying to validate it and I'm getting error at this point. Detail and Address are the body and they are repeatable. My issue is that after it reads the line "DET" it is suppose to read the "ADD". However it is looking for "DET" again.

Error description: error BEC2004: Unexpected data found while looking for: 'DET' The current definition being parsed is RefundsRoot. The stream offset where the error occured is 799. The line number where the error occured is 4. The column where the error occured is 0.

Here is the sample

FDR06281339CREDIT REFUND CHECKS                                AC
HDR9008100000000000100006428
DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5                01TEST 5 STMT                                         6902 PINE ST                                        OMAHA             NE68106-2855                  0000000000+0000000000500000                 00FINUT A    +00000000000004900                         FHSC999999          +0000000000500     EN          0099000000000                            +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900
ADDF                                                                                                                                                      6902 PINE ST                                                                                                                                                                                                      OMAHA                    NE                         68106-2855USA
TRL90081000000000001000000020000000000000642800000000000004900000000000000000000
END000000100000000200000000000000000000004900000000000000000000

Here is the schema (due to character limits I've only included related section)

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://Fingerhut.BizTalk.Schemas.FSIn_Refunds" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://Fingerhut.BizTalk.Schemas.FSIn_Refunds" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:annotation>
    <xs:appinfo>
      <schemaEditorExtension:schemaInfo namespaceAlias="b" extensionClass="Microsoft.BizTalk.FlatFileExtension.FlatFileExtension" standardName="Flat File" xmlns:schemaEditorExtension="http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions" />
      <b:schemaInfo standard="Flat File" codepage="65001" default_pad_char="0x0A 0x0D" pad_char_type="hex" count_positions_by_byte="false" parser_optimization="speed" lookahead_depth="3" suppress_empty_nodes="false" generate_empty_nodes="true" allow_early_termination="true" early_terminate_optional_fields="false" allow_message_breakup_of_infix_root="true" compile_parse_tables="false" root_reference="RefundsRoot" />
    </xs:appinfo>
  </xs:annotation>
  <xs:element name="RefundsRoot">
    <xs:annotation>
      <xs:appinfo>
        <b:recordInfo structure="delimited" sequence_number="1" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" child_delimiter_type="hex" child_delimiter="0x0D 0x0A" />
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:annotation>
          <xs:appinfo>
            <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
          </xs:appinfo>
        </xs:annotation>
              <xs:complexType name="Detail">
    <xs:sequence>
      <xs:annotation>
        <xs:appinfo>
          <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
        </xs:appinfo>
      </xs:annotation>
      <xs:element name="DETL-HDR" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="3" sequence_number="1" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-SYSTEM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="4" sequence_number="2" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PRIN-BANK" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="4" sequence_number="3" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-AGENT-BANK" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="4" sequence_number="4" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-ACCOUNT-NUMBER" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="16" sequence_number="5" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PRMR-PI-ID" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="16" sequence_number="6" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-ENTR-ID" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="16" sequence_number="7" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PI-NM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="8" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-FILLER" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="9" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PI-ROLE-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="10" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-PRIMARY-NAME" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="11" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-SECONDARY-NAME" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="12" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-ADDRESS-LINE-1" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="13" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-ADDRESS-LINE-2" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="26" sequence_number="14" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-CITY" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="18" sequence_number="15" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-STATE" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="16" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-POST-CODE" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="10" sequence_number="17" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-REF-NUM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="18" sequence_number="18" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-CHK-STARTING-NUM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="5" sequence_number="19" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-NUMBER-OF-CKS" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="4" sequence_number="20" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-DUALITY-FLAG" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="1" sequence_number="21" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-CREDIT-LIMIT" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="14" sequence_number="22" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-NUMBER-OF-PLASTICS" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="3" sequence_number="23" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="DETL-CHECKING-ACCOUNT-NUM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="17" sequence_number="24" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="Address">
    <xs:sequence>
      <xs:annotation>
        <xs:appinfo>
          <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
        </xs:appinfo>
      </xs:annotation>
      <xs:element name="ADDR-EXPN-ADDR-RCRD-HEDR-ID" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="3" sequence_number="1" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-PRMR-CUST-ADDR-FRMT-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="1" sequence_number="2" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-ATTN-LINE-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="3" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CMPN-NM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="4" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-HOUS-NR" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="10" sequence_number="5" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-STRT-NM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="40" sequence_number="6" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CNTN-ADDR-LINE-1-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="7" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CNTN-ADDR-LINE-2-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="8" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CNTN-ADDR-LINE-3-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="9" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CNTN-ADDR-LINE-4-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="50" sequence_number="10" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-PO-BOX-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="10" sequence_number="11" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CITY-NM" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="25" sequence_number="12" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-ST-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="13" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-SBDV-TX" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="25" sequence_number="14" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-PSTL-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="10" sequence_number="15" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-CTRY-CD" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo justification="left" pos_offset="0" pos_length="3" sequence_number="16" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
      <xs:element name="ADDR-FILLER" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <b:fieldInfo sequence_number="17" justification="left" pos_length="271" pos_offset="0" />
          </xs:appinfo>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

回答1:


The following schema works (you of cause need to change my string elements to the correct positional record).

What you have to do is:

  1. Add a record after the flat file wizard.
  2. Put the record after your FDR element.
  3. Add your repeating records DEC ADD to this new records as child elements.
  4. Set the record to unbound
  5. Set Child order Infix
  6. Child delimiter type to Hex
  7. Child delimiter to 0x0D 0x0A

This gives you the following schema:

<?xml version="1.0" encoding="utf-16"?>
<xs:schema xmlns="http://FlatFileSchema4" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://FlatFileSchema4" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:annotation>
        <xs:appinfo>
            <schemaEditorExtension:schemaInfo namespaceAlias="b" extensionClass="Microsoft.BizTalk.FlatFileExtension.FlatFileExtension" standardName="Flat File" xmlns:schemaEditorExtension="http://schemas.microsoft.com/BizTalk/2003/SchemaEditorExtensions" />
            <b:schemaInfo standard="Flat File" codepage="65001" default_pad_char=" " pad_char_type="char" count_positions_by_byte="false" parser_optimization="speed" lookahead_depth="3" suppress_empty_nodes="false" generate_empty_nodes="true" allow_early_termination="false" early_terminate_optional_fields="false" allow_message_breakup_of_infix_root="false" compile_parse_tables="false" root_reference="Root" />
        </xs:appinfo>
    </xs:annotation>
    <xs:element name="Root">
        <xs:annotation>
            <xs:appinfo>
                <b:recordInfo structure="delimited" child_delimiter_type="hex" child_delimiter="0xD 0xA" child_order="postfix" sequence_number="1" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
            </xs:appinfo>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:annotation>
                    <xs:appinfo>
                        <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                    </xs:appinfo>
                </xs:annotation>
                <xs:element name="FDR">
                    <xs:annotation>
                        <xs:appinfo>
                            <b:recordInfo structure="positional" tag_name="FDR" tag_offset="0" sequence_number="1" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="FDR" type="xs:string">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:fieldInfo justification="left" pos_offset="0" pos_length="35" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="HDR">
                    <xs:annotation>
                        <xs:appinfo>
                            <b:recordInfo structure="positional" tag_name="HDR" tag_offset="0" sequence_number="2" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="HDR" type="xs:string">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:fieldInfo justification="left" pos_offset="0" pos_length="29" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element maxOccurs="unbounded" name="RR">
                    <xs:annotation>
                        <xs:appinfo>
                            <recordInfo structure="delimited" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" sequence_number="3" child_delimiter_type="hex" child_delimiter="0x0D 0x0A" child_order="infix" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="DET">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:recordInfo structure="positional" tag_name="DET" tag_offset="0" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:annotation>
                                            <xs:appinfo>
                                                <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                            </xs:appinfo>
                                        </xs:annotation>
                                        <xs:element name="DET" type="xs:string">
                                            <xs:annotation>
                                                <xs:appinfo>
                                                    <b:fieldInfo justification="left" pos_offset="0" pos_length="482" sequence_number="1" />
                                                </xs:appinfo>
                                            </xs:annotation>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                            <xs:element name="ADD">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:recordInfo structure="positional" tag_name="ADD" tag_offset="0" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" sequence_number="2" />
                                    </xs:appinfo>
                                </xs:annotation>
                                <xs:complexType>
                                    <xs:sequence>
                                        <xs:annotation>
                                            <xs:appinfo>
                                                <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                            </xs:appinfo>
                                        </xs:annotation>
                                        <xs:element name="ADD" type="xs:string">
                                            <xs:annotation>
                                                <xs:appinfo>
                                                    <b:fieldInfo justification="left" pos_offset="0" pos_length="41" sequence_number="1" />
                                                </xs:appinfo>
                                            </xs:annotation>
                                        </xs:element>
                                    </xs:sequence>
                                </xs:complexType>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="TRL">
                    <xs:annotation>
                        <xs:appinfo>
                            <b:recordInfo structure="positional" tag_name="TRL" tag_offset="0" sequence_number="4" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="TRL" type="xs:string">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:fieldInfo justification="left" pos_offset="0" pos_length="81" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="END">
                    <xs:annotation>
                        <xs:appinfo>
                            <b:recordInfo structure="positional" tag_name="END" tag_offset="0" sequence_number="5" preserve_delimiter_for_empty_data="true" suppress_trailing_delimiters="false" />
                        </xs:appinfo>
                    </xs:annotation>
                    <xs:complexType>
                        <xs:sequence>
                            <xs:annotation>
                                <xs:appinfo>
                                    <groupInfo sequence_number="0" xmlns="http://schemas.microsoft.com/BizTalk/2003" />
                                </xs:appinfo>
                            </xs:annotation>
                            <xs:element name="END" type="xs:string">
                                <xs:annotation>
                                    <xs:appinfo>
                                        <b:fieldInfo justification="left" pos_offset="0" pos_length="63" sequence_number="1" />
                                    </xs:appinfo>
                                </xs:annotation>
                            </xs:element>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

With test file:

FDR06281339CREDIT REFUND CHECKS AC 
HDR9008100000000000100006428 
DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5 01TEST 5 STMT 6902 PINE ST OMAHA NE68106-2855 0000000000+0000000000500000 00FINUT A +00000000000004900 FHSC999999 +0000000000500 EN 0099000000000 +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900 
ADDF 6902 PINE ST OMAHA NE 68106-2855USA 
DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5 01TEST 5 STMT 6902 PINE ST OMAHA NE68106-2855 0000000000+0000000000500000 00FINUT A +00000000000004900 FHSC999999 +0000000000500 EN 0099000000000 +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900 
ADDF 6902 PINE ST OMAHA NE 68106-2855USA 
TRL90081000000000001000000020000000000000642800000000000004900000000000000000000 
END000000100000000200000000000000000000004900000000000000000000

And output:

  <Root xmlns="http://FlatFileSchema4">
        <FDR xmlns="">
            <FDR>FDR06281339CREDIT REFUND CHECKS AC</FDR>
        </FDR>
        <HDR xmlns="">
            <HDR>HDR9008100000000000100006428</HDR>
        </HDR>
        <RR xmlns="">
            <DET>
                <DET>DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5 01TEST 5 STMT 6902 PINE ST OMAHA NE68106-2855 0000000000+0000000000500000 00FINUT A +00000000000004900 FHSC999999 +0000000000500 EN 0099000000000 +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900</DET>
            </DET>
            <ADD>
                <ADD>ADDF 6902 PINE ST OMAHA NE 68106-2855USA</ADD>
            </ADD>
        </RR>
        <RR xmlns="">
            <DET>
                <DET>DET900810000000636992103500048763699210350004876369921035000487STMT, TEST 5 01TEST 5 STMT 6902 PINE ST OMAHA NE68106-2855 0000000000+0000000000500000 00FINUT A +00000000000004900 FHSC999999 +0000000000500 EN 0099000000000 +0000000000000+000000000000000000+0000000000000+000000000000000000+0000000000000+0000000000000000000000000000+00009999999999999+00009999999999999+00000000000000000+00000000000000000+999999999999999+99999999999999900000000000+9999999999999990000000000000009900</DET>
            </DET>
            <ADD>
                <ADD>ADDF 6902 PINE ST OMAHA NE 68106-2855USA</ADD>
            </ADD>
        </RR>
        <TRL xmlns="">
            <TRL>TRL90081000000000001000000020000000000000642800000000000004900000000000000000000</TRL>
        </TRL>
        <END xmlns="">
            <END>END000000100000000200000000000000000000004900000000000000000000</END>
        </END>
    </Root>

I have updated the schema to also include the extra records that your testfile now have. And it works for me.



来源:https://stackoverflow.com/questions/17952299/biztalk-flatfile-schema-multiple-repeating-records

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!