首页 > 解决方案 > 将单个源模式元素映射到具有属性的多个元素

问题描述

我有一个source schema如下:

Users
  Id
  Name
  Department

如下destination schema

Employee
  Name
  Number
    number_type(attribute)

我需要做以下映射

Name ---> Name
Id ---> Number (number_type = "Id")
Department_no  --> Number (number_type = "dept")

我需要映射两者,Id and department number i.e. 2 elements to 1 elementNumber in dest schema但两个属性值应该不同。

输入

<Users>
    <Id>123</Id>
    <Name>abc</Name>
    <Department_no>456</Department_no>
</Users>

输出:

<Employee>
    <Name>abc</Name>
    <Number number_type = "Id">123</Number>
    <Number number_type = "dept">456</Number>
</Employee>

我怎样才能在 BizTalk 中实现或内联 XSLT 是什么?

标签: biztalkbiztalk-2010

解决方案


你几乎拥有它

Name ---> Name
Id ---> Number
Department  --> Number 

然后还将 Id 和 Department 链接到一个循环 functoid 去 Number

另外要执行属性,您可以尝试一些事情,例如

Id ---> number_type 
Department -->  number_type

但是单击链接选择复制名称而不是复制文本值。

BizTalk 地图图像

从输入

<ns0:Root xmlns:ns0="http://Scratch.SO55049939Input">
  <Users>
    <Id>Id_0</Id>
    <Name>Name_0</Name>
    <Department>Department_0</Department>
  </Users>
</ns0:Root>

你会得到输出

<ns0:Root xmlns:ns0="http://Scratch.SO55049939output">
    <Employee>
        <Name>Name_0</Name>
        <Number number_type="Id">Id_0</Number>
        <Number number_type="Department">Department_0</Number>
    </Employee>
</ns0:Root>

推荐阅读