BizTalk XML связал ITEM с выводом FLATTEN

Помогите, пожалуйста, решить эту карту. Здесь у меня есть XML с HDR, DTL, FTR; В DTL есть детали ПУНКТ-БАНК, ПУНКТ-БАНК, ПУНКТ-БАНК в паре вместе. Мне нужно сгладить это, чтобы вывести в одну запись.

БИЗНЕС-ПРАВИЛО: 1) Если элемент ID пуст, то это КОММЕНТАРИЙ, и он будет агрегирован «Адрес стороны + Почтовый индекс стороны + Почтовый индекс стороны» в выходном XML-коде COMMENT. 2) Если идентификатор равен BANK, то он содержит банковские реквизиты, а идентификатор элемента TAG имеет значение идентификатора, относящееся к указанному выше ПУНКТУ.

XSD POCProducts: http://pastebin.com/XNaq40vZ

КАРТА ПК:

введите здесь описание изображения

ОЖИДАЕТСЯ/РАЗЫСКИВАЕТСЯ:

<ns0:PRODUCTS xmlns:ns0="http://TEST.Schema.FlatFile.POCProducts">
  <PRODUCT ProdName="Wonder Power" ProdDesc="Wonder power  DESC">
    <ITEMS>
      <ITEMS>
        <ID>1010</ID>
        <CODE>KG</CODE>
        <UNIT>C0001</UNIT>
        <DESC>Wonder Power 10*10ml</DESC>
        <BankCode>A1</BankCode>
        <BankDesc>Bank XXXX Code</BankDesc>
      </ITEMS>
      <ITEMS>
        <ID>2020</ID>
        <CODE>KG</CODE>
        <UNIT>C0001</UNIT>
        <DESC>Wonder Supper 50*50ml</DESC>
        <BankCode>A2</BankCode>
        <BankDesc>Bank yyyyy Code</BankDesc>
      </ITEMS>
    </ITEMS>
    <VAT>5390</VAT>
    <AMT>880099</AMT>
    <Comment>Address of Party + Zipcode of Party + Postbus of Party</Comment>
  </PRODUCT>
</ns0:PRODUCTS>

ТЕКУЩИЙ ВЫВОД XML:

<ns0:PRODUCTS xmlns:ns0="http://TEST.FlatFile.POCProducts">
  <PRODUCT ProdName="Wonder Power" ProdDesc="Wonder power  DESC">
    <ITEMS>
      <ITEMS>
        <ID>1010</ID>
        <CODE>KG</CODE>
        <UNIT>C0001</UNIT>
        <DESC>Wonder Power 10*10ml</DESC>
      </ITEMS>
      <ITEMS>
        <ID>2020</ID>
        <CODE>KG</CODE>
        <UNIT>C0001</UNIT>
        <DESC>Wonder Supper 50*50ml</DESC>
      </ITEMS>
    </ITEMS>
    <VAT>5390</VAT>
    <AMT>880099</AMT>
    <Comments>Address of Party</Comments>
    <Comments>Zipcode of Party</Comments>
    <Comments>Postbus of Party</Comments>
  </PRODUCT>
</ns0:PRODUCTS>

ВВОД XML:

<POC xmlns="http://TEST.Schema.FlatFile.POC">
  <HDR xmlns="">
    <ProdName>Wonder Power</ProdName>
    <ProdDesc>Wonder power DESC</ProdDesc>
    <Filler></Filler>
  </HDR>
  <DTL xmlns="">
    <ID>1010</ID>
    <CODE>KG</CODE>
    <TAG>C0001</TAG>
    <DESC>Wonder Power 10*10ml</DESC>
    <FILLER></FILLER>
  </DTL>
  <DTL xmlns="">
    <ID>BANK</ID>
    <CODE>A1</CODE>
    <TAG>1010</TAG>
    <DESC>Bank XXXX Code</DESC>
    <FILLER></FILLER>
  </DTL>
  <DTL xmlns="">
    <ID>2020</ID>
    <CODE>KG</CODE>
    <TAG>C0001</TAG>
    <DESC>Wonder Supper 50*50ml</DESC>
    <FILLER></FILLER>
  </DTL>
  <DTL xmlns="">
    <ID>BANK</ID>
    <CODE>A2</CODE>
    <TAG>2020</TAG>
    <DESC>Bank yyyyy Code</DESC>
    <FILLER></FILLER>
  </DTL>
  <DTL xmlns="">
    <ID></ID>
    <CODE></CODE>
    <TAG>Address of Party</TAG>
    <DESC></DESC>
    <FILLER></FILLER>
  </DTL>
  <DTL xmlns="">
    <ID></ID>
    <CODE></CODE>
    <TAG></TAG>
    <DESC>Zipcode of Party</DESC>
    <FILLER></FILLER>
  </DTL>
  <DTL xmlns="">
    <ID></ID>
    <CODE></CODE>
    <TAG></TAG>
    <DESC>Postbus of Party</DESC>
    <FILLER></FILLER>
  </DTL>
  <FTR xmlns="">
    <VAT>5390</VAT>
    <TOTAL>880099</TOTAL>
    <FILLER></FILLER>
  </FTR>
</POC>

person SAM    schedule 11.02.2015    source источник
comment
Где находится узел комментариев в POCProduct.xsd??   -  person xyz    schedule 11.02.2015
comment
Извините, я по ошибке загрузил старый образ MAP   -  person SAM    schedule 11.02.2015
comment
Нужно ли просто жестко запрограммировать адрес участника + почтовый индекс участника + почтовый индекс участника или он исходит из ввода?   -  person xyz    schedule 11.02.2015
comment
Это не жестко закодировано... Оно исходит из входного файла, это может быть любое значение во входном файле...   -  person SAM    schedule 11.02.2015
comment
XSD POCProducts: pastebin.com/XNaq40vZ   -  person SAM    schedule 11.02.2015


Ответы (1)


Вывод узла Comment не так уж и сложен:

Вы можете просто связать идентификатор с логическим равенством, чтобы проверить, пусто ли оно, а затем связать результат с сопоставлением значений. В зависимости от того, откуда эти комментарии исходят от вашего Src, TAG или DESC или обоих, свяжите этот узел с сопоставлением значений. достаточно подключить вывод сопоставления значений к строке concat func.

введите здесь описание изображения

person Zee    schedule 12.02.2015
comment
Привет Зи, это не работает, так как выдает ниже вывод ‹Комментарии›Адрес участника‹/Комментарии› ‹Комментарии›Почтовый индекс участника‹/Комментарии› ‹Комментарии›Postbus of Party‹/Комментарии› Мне нужен один элемент комментария со всеми данные объединены, как указано выше. - person SAM; 12.02.2015
comment
Сэм: Я добавил скриншот. Ваш мэппинг выглядит так? - person Zee; 13.02.2015