использование xslt функтоида

У меня есть ввод, как

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

Я помещаю значение всех DTP в таблицу SQL. Наряду с DTP у меня есть один элемент id в схеме назначения, где я должен указать порядковый номер HD.

Таким образом, он будет выводиться следующим образом:

1    DTP1 DTP2 DTP3

1     DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

2    DTP1 DTP2 DTP3

Я использую встроенный шаблон вызова xslt функтоида XSLT.

Внутри, что я использую

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

код без ввода и один вывод к идентификатору

Но его преобразование ошибки дает сбой.

Итак, какие изменения мне нужно сделать, чтобы получить соответствующий идентификатор?


person user1104946    schedule 19.12.2011    source источник
comment
Что такое сообщение об ошибке преобразования? Зачем вам нужно делать это с помощью функтоида Xslt Call Template? Вы можете получить порядковый номер, просто используя функтоид индекса.   -  person Filburt    schedule 20.12.2011
comment
Я думаю, что индексный функтоид не дает порядковый номер, он дает только первое содержимое последовательности правильно ... или он также дает порядковый номер ... Ошибка не может быть преобразована   -  person user1104946    schedule 20.12.2011


Ответы (1)


Попробуйте подключить исходный узел <HD> к Итерационный функтоид.

Чтобы сгладить ваши значения под <DTP>, вам понадобится Функтоид зацикливания таблицы.

Моя машина разработки BizTalk прямо сейчас не готова для создания полного прототипа, но это должно дать вам отправную точку.

person Filburt    schedule 20.12.2011