機能

2013-11-04 10 views
9

私は今、私は出力がbest stringようになりますようにbestmyを置き換えるために、この機能

"My string" 

のような文字列をたいているに置き換えると、XSLT 2.0での文字列に置き換えます。 私は多くのことをGoogleで検索しかし、このXSLT 1.0を行うためのメカニズムがexplained.Canいずれかであるnothing..everyを発見したこの

<xsl:value-of select="replace('my string',my,best)"/> 

おそらくその間違った構文

のようないくつかのことを試してみましたXSLT 2.0、考えると1.0

答えて

18

に比べて簡単な方法でそれを行う方法を教えてください:

<xsl:variable name="s1" select="'My string'"/> 

は単純に使用します。

<xsl:value-of select="replace($s1, 'My', 'best')"/> 
+0

そのは、(置き換えるエラーをスロー)機能未知 – Athul

+1

@AKSがあるのでなければなりません:あなたはapostrophsを忘れてしまったほか あなたのコードは、大丈夫でした2.0?おそらくXSLTに 'xmlns:fn =" http://www.w3.org/2005/xpath-functions "という名前空間を宣言し、この関数を' fn:replace($ s1、 'My' 、 'ベスト') '。参照:http://www.w3schools.com/xpath/xpath_functions.asp –

+2

@AKS、XSLT 2.0を使用する場合は、Saxon 9やAltovaXML、XMLPrimeなどのXSLT 2.0プロセッサを使用する必要があります。 –

3

xsltプロセッサ(saxxon)が最新のリリースであるかどうかを最初に確認します。次に、xslt-stylesheetの先頭に <xsl:stylesheet version="2.0"を設定する必要があります。それでおしまい。あなたは `XSLTを使用していることを確認です:

<xsl:value-of select="replace('my string',my,best)"/> 

<xsl:value-of select="replace('my string','my','best')"/> 
+0

彼はどのxsltプロセッサーを使用しているかをどのように知ることができますか?私は、Apache FOP 2.2で処理するためにxslフォームの中で 'replace'関数を使い、' xsl:stylesheet'バージョンを2.0に変更しようとすると、私の問題を解決できませんでした。 'xmlns:fn =" http://www.w3.org/2005/xpath-functions "を追加することもできませんでした。ありがとう! –