【发布时间】:2016-09-05 15:46:16
【问题描述】:
(在标记我之前,请检查我在此问题底部的弹出说明。谢谢!)
我在 BizTalk 中遇到问题,我只能通过多个步骤来实现我想要的映射,并且希望使用单个映射来实现输出。
我的输入 XML 示例如下:-
<Books>
<Book><Title>The BFG</Title><ISBN>0-224-02040-4</ISBN></Book>
<Book><Title>The Hobbit</Title><ISBN>978-0261102217</ISBN></Book>
<Book><Title>BizTalk Server 2010 Unleashed</Title><ISBN>978-0-672-33118-7</ISBN></Book>
</Books>
<Revisions>
<Revision><ISBN>0-224-02040-4</ISBN><Version>1</Version><Published>1970-08-22T00:00:00</Published></Revision>
<Revision><ISBN>0-224-02040-4</ISBN><Version>2</Version><Published>1975-09-25T00:00:00</Published></Revision>
<Revision><ISBN>0-224-02040-4</ISBN><Version>3</Version><Published>1990-09-16T00:00:00</Published></Revision>
<Revision><ISBN>978-0-672-33118-7</ISBN><Version>1</Version><Published>2010-03-28T00:00:00</Published></Revision>
<Revision><ISBN>978-0261102217</ISBN><Version>1</Version><Published>1960-09-25T00:00:00</Published></Revision>
<Revision><ISBN>978-0-672-33118-7</ISBN><Version>2</Version><Published>2011-09-16T00:00:00</Published></Revision>
<Revisions>
我想要的这个例子的输出 XML 是:-
<HistoricBooks>
<FirstIssue><ISBN>0-224-02040-4</ISBN><Title>The BFG</Title><FirstPublished>1970-08-22T00:00:00</FirstPublished><FirstIssue>
<FirstIssue><ISBN>978-0261102217</ISBN><Title>The Hobbit</Title><FirstPublished>1960-09-25T00:00:00</FirstPublished><FirstIssue>
<FirstIssue><ISBN>978-0-672-33118-7</ISBN><Title>BizTalk Server 2010 Unleashed</Title><FirstPublished>2010-03-28T00:00:00</FirstPublished><FirstIssue>
</HistoricBooks>
我遇到的第一个问题是 BizTalk Minimum 和 CumulativeMinimum functoid 都需要数字输入,并且不适用于日期。因此,我的问题的第一部分是......
对 BizTalk 地图中的日期元素执行最小值和最大值函数的最佳方法是什么?
我遇到的第二个问题是累积仿函数理解范围的方式。 scope 参数指示累积的深度(整个文档、父级、祖父级等),但在这种情况下,简单地取 <revisions> 的所有子级的最小值是不合适的。我需要更有选择性。因此我的问题的第二部分是......
我应该使用哪个 functoid 在我的 XML 层次结构中选择性地执行日期累积,我应该如何实现它?
我知道这是一个双重问题。我也知道有很多方法可以得到答案,但很多方法会导致代码复杂、不整洁和性能不佳。我希望避免这种情况。我也知道这可以通过修改源或目标架构或不使用 BizTalk 轻松实现。这些路线对我不开放。因此,这个问题要求提供一个简单、优雅的 BizTalk 解决方案的示例。如果您不想提供答案,请不要惩罚希望提高知识和技能的人。
【问题讨论】:
-
首先,这是一个完全合法的 BizTalk 问题。其次,我认为你在某些事情上想得太多了。请确认一件事,您要做的就是合并 Title 和 FirstPublished 数据,使用 ISBN 作为键?
-
嗨,Johns,是的,完全正确。而且很可能我想多了,或者遗漏了一些非常明显的东西,因为我的直觉告诉我这应该是 BizTalk 地图的“面包和黄油”。
标签: date dictionary biztalk accumulate