Добавление дочерних записей с помощью мастера схем плоских файлов BizTalk - PullRequest
1 голос
/ 29 августа 2011

enter image description here

Я создаю схему XSD с помощью мастера схем плоских файлов BizTalk.

У меня есть элемент записи, в котором имеется несколько атрибутов, и дочерняя запись с несколькими ее атрибутами.

Теперь я могу добавить Атрибуты в основную запись, но как добавить дочернюю запись в нее.

Пожалуйста, посмотрите на приложенное изображение, чтобы получить более подробную информацию о моей проблеме.

1 Ответ

1 голос
/ 30 августа 2011

Я получил ответ на свой вопрос, выполнив некоторые исследования и разработки. Вот XSD, который должен был быть сгенерирован.

  <?xml version="1.0" encoding="utf-16" ?> 
  <xs:schema xmlns="http://Messaging.Messages.SalesOrder_FF" xmlns:b="http://schemas.microsoft.com/BizTalk/2003" targetNamespace="http://Messaging.Messages.SalesOrder_FF" 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="SalesOrder" /> 
  </xs:appinfo>
  </xs:annotation>
  <xs:element name="SalesOrder">
  <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="OrderDetail">
  <xs:annotation>
  <xs:appinfo>
  <b:recordInfo structure="delimited" child_delimiter_type="char" child_delimiter="," child_order="infix" 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 minOccurs="1" maxOccurs="1" name="CreditInfo">
  <xs:annotation>
  <xs:appinfo>
  <b:recordInfo structure="delimited" child_delimiter_type="char" child_delimiter="," child_order="infix" sequence_number="6" 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:sequence>
  <xs:attribute name="Employer" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="1" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  <xs:attribute name="MonthsEmployed" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="2" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  <xs:attribute name="PrimaryIncome" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="3" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  <xs:attribute name="OtherIncome" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="4" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  </xs:complexType>
  </xs:element>
  </xs:sequence>
  <xs:attribute name="StoreNumber" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="1" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  <xs:attribute name="OrderNumber" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="2" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  <xs:attribute name="Cash_Cred" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="3" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  <xs:attribute name="EmployeeName" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="4" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  <xs:attribute name="TotalOrder" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="5" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:attribute>
  </xs:complexType>
  </xs:element>
  <xs:element name="CustomerInfo">
  <xs:annotation>
  <xs:appinfo>
  <b:recordInfo structure="positional" 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="ID" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" pos_offset="0" pos_length="5" sequence_number="1" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  <xs:element name="CustomerName" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" pos_offset="0" pos_length="24" sequence_number="2" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  <xs:element name="MonthsAtResidence" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" pos_offset="0" pos_length="5" sequence_number="3" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  <xs:element name="Address" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" pos_offset="0" pos_length="25" sequence_number="4" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  <xs:element name="Town" 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="State" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" pos_offset="0" pos_length="2" sequence_number="6" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  <xs:element name="ZipCode" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" pos_offset="0" pos_length="5" sequence_number="7" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  <xs:element name="Products">
  <xs:annotation>
  <xs:appinfo>
  <b:recordInfo tag_name="PRODUCTS" structure="delimited" child_delimiter_type="char" child_delimiter="," child_order="prefix" sequence_number="3" 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 maxOccurs="unbounded" name="Product">
  <xs:annotation>
  <xs:appinfo>
  <b:recordInfo tag_name="PRODUCT" structure="delimited" child_delimiter_type="char" child_delimiter="|" child_order="prefix" 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="Quantity" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="1" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  <xs:element name="ItemNumber" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="2" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  <xs:element name="PriceEach" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="3" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  <xs:element name="Comments" type="xs:string">
  <xs:annotation>
  <xs:appinfo>
  <b:fieldInfo justification="left" sequence_number="4" /> 
  </xs:appinfo>
  </xs:annotation>
  </xs:element>
  </xs:sequence>
  </xs:complexType>
  </xs:element>
  </xs:schema>
...