Javaプログラムでは、SaxonLibraryを使用していくつかのXQueryコマンドを解析しています。
ここで、最初にtokenize()を使用して、いくつかのテキストをいくつかのテキスト値に分割します。テキストの例は次のとおりです-
Mohan Prakash, Ramesh Saini
上記のテキストで、区切り文字として「、」を使用してtokenize()を使用します。そして、トークン化の結果を変数$varに格納します
この後、これらのテキスト値をループして、出力として次のようにします。
Mohan Prakash,1
Ramesh Saini,2
上からわかるように、各行の最後の値は最初の行のカウンターです。この値は1で、2番目の行の場合はこの値=2というように続きます。
以下のコードのようなものを使用することを考えました-
for $t in $var/position()
return concat($var[$t], ',', $t)
ただし、$ varはノードであると想定されているため、$ varでposition()を使用できないというエラーが発生します。
したがって、これを解決するには2つの方法があります-
(a)$varの値をノードに変換します
I tried text{$var} but that is not giving accurate results.
値の配列をノードに変換するにはどうすればよいですか?
(b)以下を使用します--
for $t in $var
ここで、forループ内でカウンターを作成して使用し、$ tの各値とともにカウント値を出力できるようにするにはどうすればよいですか?