【发布时间】:2016-06-26 08:59:37
【问题描述】:
我有一个输入模式 (input_schema):
...
<ContactNo>
<Contact_1>
<Contact-Type>MOBILE|HOME|WORK</Contact-Type>
<Contact-SubType>UK|OVERSEAS</Contact-SubType>
<Contact-CountyCode>44</Contact-CountyCode>
<Contact-No>01443788800</Contact-No>
<Contact-Ex>85000</Contact-Ex>
</Contact_1>
<Contact_2>
<Contact-Type>MOBILE|HOME|WORK</Contact-Type>
<Contact-SubType>UK|OVERSEAS</Contact-SubType>
<Contact-CountyCode>44</Contact-CountyCode>
<Contact-No>01443788800</Contact-No>
<Contact-Ex>85000</Contact-Ex>
</Contact_2>
<Contact_3>
<Contact-Type>MOBILE|HOME|WORK</Contact-Type>
<Contact-SubType>UK|OVERSEAS</Contact-SubType>
<Contact-CountyCode>44</Contact-CountyCode>
<Contact-No>01443788800</Contact-No>
<Contact-Ex>85000</Contact-Ex>
</Contact_3>
...
</ContactNo>
...
ContactNo 的每个子节点只能出现一次(一个 Contact_1、一个 Contact_2 和一个 Contact_3)。我需要为 Contact-Type、SubType 应用一些业务逻辑来构造 Contact-No,但我的问题是如何最好地将这个结构映射到相关的输出模式节点(这些节点最多出现 20 个)但只能根据下面的 input_schema 架构结构,最多三个:
...
<HomeTelephone>
<WorkTelephone>
<MobileTelephone>
...
示例输入/输出
...
<ContactNo>
<Contact_1>
<Contact-Type>HOME</Contact-Type>
<Contact-SubType>UK</Contact-SubType>
<Contact-CountyCode />
<Contact-No>01443788800</Contact-No>
<Contact-Ex/>
</Contact_1>
<Contact_2>
<Contact-Type>WORK</Contact-Type>
<Contact-SubType />
<Contact-CountyCode />
<Contact-No>01743788800</Contact-No>
<Contact-Ex>86000</Contact-Ex>
</Contact_2>
<Contact_3>
<Contact-Type>WORK</Contact-Type>
<Contact-SubType>UK</Contact-SubType>
<Contact-CountyCode />
<Contact-No>01443788800</Contact-No>
<Contact-Ex>85000</Contact-Ex>
</Contact_3>
...
</ContactNo>
...
...
<HomeTelephone>01443788800</HomeTelephone>
<WorkTelephone>0174378880086000</WorkTelephone>
<WorkTelephone>0144378880085000</WorkTelephone>
<MobileTelephone />
...
目前我正在检查 Contact-Type (=Home),然后在映射输出之前通过值映射器将输出映射到脚本 functoid 以进行数据确认。这似乎导致重复节点。
【问题讨论】:
标签: biztalk biztalk-2013 biztalk-mapper