- 締切済み
concat関数内でのシングルクォートの使用
シングルクォートを文字列として扱いたいのですが、 うまくいきません。 どなたかご存知ないでしょうか? concat('ここ''aaaaa','ここ'); ↓ 'aaaaa' のようにしたいのです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- jo-ji
- ベストアンサー率72% (26/36)
回答No.2
XSLTスタイルシートで属性としてXPathが現れるような場合、'のように記述しても、'に置き換えられてからXPathとして評価されてしまうので、以下のように記述してもダメです。 <xsl:value-of select="concat(''aaa','''')"/> XPathが評価される段階では concat(''aaa',''') となってしまっているためです。 結局、シングルクォーテイションの中ではシングルクォーテイションを使うことはできないということが問題なのですから、以下のようにすればよいと思います。 <xsl:value-of select="concat(&quot;'aaa&quot;,&quot;'&quot;)"/> ※ 文字が勝手に置き換えられてしまうため、&を&で表しています。コピーアンドペーストする場合は気を付けてください。 こうしておけば、XPathが評価される段階では concat("'aaa","'") となって正しく評価されるはずです。 Xalanでしか試していませんので、実装によってうまくいかないことがあったらごめんなさい。
- wasabi-man
- ベストアンサー率31% (20/63)
回答No.1
\'aaaaa\' のようにしたらどうでしょうか.
補足
色々と試してみたのですが、だめでした。 上記のものもだめなようです。 ちなみに、XSLTプロセッサはlibxsltです。 環境はSolaris8です。