将单个源模式元素映射到具有属性的多个元素

时间:2019-03-07 17:45:29

标签: biztalk biztalk-2010

我有一个var questions = [ [ 'Purchase only', 'Sale and purchase', 'Sale only', 'Remortgage' ], [ 'Leasehold', 'Freehold' ], [ 'Yes', 'No' ] ] console.log(questions[0][0]); ,如下所示:

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 element,但是两个属性的值都应该不同。

输入

Number in dest schema

输出:

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

我如何在BizTalk中实现,或者相同的内联XSLT是什么?

1 个答案:

答案 0 :(得分:2)

您几乎拥有了

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

然后还将ID和Department都链接到一个循环的functoid函数,该函数转到Number

加上属性,您可以尝试一些事情,例如

Id ---> number_type 
Department -->  number_type

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

BizTalk Map image

从输入

<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>