2011-12-19 6 views
2

を使用して、私はSQLテーブルのすべてのDTPの値を入れていますのXSLT Functoidの

<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と一緒に、私はHDのシーケンス番号を入れなければならないデスティネーションスキーマに1つのid要素を持っています。私はXSLTのFunctoidインラインXSLT呼び出しテンプレートを使用しています

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つの出力を使用しています。しかしその与えるエラーが失敗変換

インサイド。

だから私は何を変更する必要があります適切なIDを取得するには?

+1

変換エラーのエラーメッセージは何ですか? Xslt Call Template Functoidを使用してこれを行う必要があるのはなぜですか? Index functoidを使用するだけで、シーケンス番号を受け取ることができます。 – Filburt

+0

私はインデックスFunctoid doeはシーケンス番号を与えていないと思います。シーケンスの最初の内容だけを提供しています....またはGIVシーケンス番号もします... Erororは変換できませんでした – user1104946

答えて