【问题标题】:map single source schema element to multiple element with attribute将单个源模式元素映射到具有属性的多个元素
【发布时间】:2019-03-07 17:45:28
【问题描述】:

我有一个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>

输出:

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

我如何在 BizTalk 中实现,或者内联 XSLT 可以实现什么?

【问题讨论】:

  • 抱歉,问题不是很清楚。你需要连接这些值吗?您能否发布输入和预期输出的示例
  • 感谢您的回复@Johns-305。我添加了输入和输出示例
  • 完美,谢谢。但是......我不明白问题是什么。你只需要映射这些值,这甚至没有什么复杂的。我们错过了什么吗?

标签: biztalk biztalk-2010


【解决方案1】:

你几乎拥有它

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

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

加上做属性有一些事情你可以试试比如

Id ---> number_type 
Department -->  number_type

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

来自输入

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

【讨论】:

  • 我需要属性中的值“dept”。使用自定义 XSLT 也是如此。无论如何,这很有帮助。谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-06
相关资源
最近更新 更多