如何获取上一次迭代的字段值?
我试图从前一个节点获取 a 字段的值。我需要它,以便我的地图可以输出标准化数据集(即左侧是非标准化的)。
<arrayOrdersItems>
<OrderItem>
<Order id1>
<Item 1>
</OrderItem>
<OrderItem>
<Order id1>
<Item 2>
</OrderItem>
<OrderItem>
<Order id2>
<Item 1>
</OrderItem>
<OrderItem>
<Order id3>
<Item 1>
</OrderItem>
</arrayOrderItems>
应该导致以下结果:
<array>
<Order>
<Order id1>
<Items>
<Item 1>
<Item 2>
</Items>
</Order>
<Order>
<Order id2>
<Items>
<Item 1>
</Items>
</Order>
<Order>
<Order id3>
<Items>
<Item 1>
</Items>
</Order>
</array>
我面临的问题是,如果我尝试使用 xslt,似乎我可以指定特定列所需的索引,但我无法知道我所在的列。或者我有当前的索引,但我似乎无法使用它来获取上一次迭代的值。或者我可以分两部分进行映射(首先是标题/订单,然后是详细信息/项目),但是即使如此,如何防止为每个可能的标签创建每个标签?
这个问题通常在 Biztalk 中如何处理 - 我想我只是在 xslt 方面不够强大,似乎它几乎可以做任何事情,但我只是不知道正确的语法。
I'm trying to get the value of the a field from the previous node. I need it so that my map can output a normalized data set (i.e. the left side is denormalized).
<arrayOrdersItems>
<OrderItem>
<Order id1>
<Item 1>
</OrderItem>
<OrderItem>
<Order id1>
<Item 2>
</OrderItem>
<OrderItem>
<Order id2>
<Item 1>
</OrderItem>
<OrderItem>
<Order id3>
<Item 1>
</OrderItem>
</arrayOrderItems>
Should result in the following:
<array>
<Order>
<Order id1>
<Items>
<Item 1>
<Item 2>
</Items>
</Order>
<Order>
<Order id2>
<Items>
<Item 1>
</Items>
</Order>
<Order>
<Order id3>
<Items>
<Item 1>
</Items>
</Order>
</array>
The problems I'm facing is that if I try to use xslt, it seems I can specify which index I want for a particular column, but I'm not able to know what column I'm in. Or I have my current index but I can't seem to use it to get at the value of the previous iteration. Or I could do the mapping in two parts (first header/order and then the details/items) but, even then, how do I keep each tag from being created for each possible tag?
How is this problem usually handled in Biztalk - I figure I'm just not strong enough in xslt, it seems like it can do nearly anything and I just don't know the correct syntax.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在 xslt 中使用 munecian 分组来实现此目的。下面的链接提供了您正在寻找的确切解决方案。
http://blogs.msdn.com/b/chrisromp/archive/2008/07/31/muenchian-grouping-and-sorting-in-biztalk-maps.aspx
You can use munecian grouping in xslt for achieving this. Below link gives the exact solution you are looking for.
http://blogs.msdn.com/b/chrisromp/archive/2008/07/31/muenchian-grouping-and-sorting-in-biztalk-maps.aspx