2017-03-14 2 views
-1

私はXSLTのかなり新しいです。私は、文字列からダッシュ(別名 " - ")を取り除き、最初の2文字の後にダッシュをつけた文字列を返し、残りの7文字を返す関数を作ろうとしています。式内のエラーstring-join:expected ")"、found "、"

私のXSLは次のようになります。

<fn:function name="nx:DashedResult"> 
    <xsl:param name="String"/> 
    <fn:result select="fn:string-join((substring(translate($String,'-',''),1,2),substring(translate($String,'-',''),3,9)),'-')"/> 
</fn:function> 

私は取得していますエラーは次のとおりです。

Error in expression fn:string-join((substring(translate($String,'-',''),1,2),substring(translate($String,'-',''),3,9)),'-'): expected ")", found "," 

任意の助けをいただければ幸いです。

答えて

1

まあ、string-join((substring(translate($String,'-',''),1,2),substring(translate($String,'-',''),3,9))),'-')には、)の終了を追加する必要があります。しかし、XSLTにはfn:result要素がなく、fn名前空間はXSLT要素に使用される名前空間ではありません。だから、

0

私は右の思考にいる場合は、そうしようとした場合は、出力ab-cdefghi

をしたいabc-def-ghij-klの入力を与えられた:

concat(substring(translate($string, '-', ''),1,2), '-', substring(translate($string, '-', ''),3,7)) 

これはダッシュに続く最初の2ダッシュ取り除いた文字を、追加します、続いて先行する7つのダッシュが取り除かれた文字が続きます。

+0

これは機能しました!ありがとうございました :) –

関連する問題