Biztalk 使用xslt functoid

Biztalk 使用xslt functoid,biztalk,xslt,biztalk-2010,biztalk2006r2,Biztalk,Xslt,Biztalk 2010,Biztalk2006r2,我有类似的输入 <Loop2300> <HD></HD> <DTP> <DTP1></DTP1> <DTP2></DTP2> <DTP3></DTP3> </DTP> <DTP> <DTP1></DTP1> <

我有类似的输入

<Loop2300>
    <HD></HD>
    <DTP>
        <DTP1></DTP1> 
        <DTP2></DTP2> 
        <DTP3></DTP3>
   </DTP> 
   <DTP>
        <DTP1></DTP1> 
        <DTP2></DTP2> 
        <DTP3></DTP3>
   </DTP> 
</Loop2300>
<Loop2300>
    <HD></HD>
    <DTP>
        <DTP1></DTP1> 
        <DTP2></DTP2> 
        <DTP3></DTP3>
    </DTP>
    <DTP>
        <DTP1></DTP1> 
        <DTP2></DTP2> 
        <DTP3></DTP3>
    </DTP> 
</Loop2300>
1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3
我正在使用XSLT functoid内联XSLT调用模板

1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3
在我使用的内部

1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3
<xsl:template>
    <xsl:for-each select="TS834_2300_Loop/HD_HealthCoverage">
        <xsl:number value="position()" format="1. "/>
    </xsl:for-each>
</xsl:template>

代码没有输入,Id只有一个输出

1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3
但是它的错误转换失败了

1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

那么,我需要做什么更改才能获得适当的id呢?

尝试将您的
源节点连接到
1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3
要在
下展平您的值,您需要

1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

我现在还没有准备好BizTalk dev机器来构建完整的原型,但这应该给你一个起点。

转换错误的错误消息是什么?为什么需要使用Xslt调用模板functoid执行此操作?您可以通过使用索引functoid简单地接收序列号。我认为索引functoid没有给出序列号,它只给出序列的第一个内容正确…或者它也给出了序列号…错误是不能转换的
1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3