dポイントプレゼントキャンペーン実施中!

シングルクォートを文字列として扱いたいのですが、
うまくいきません。
どなたかご存知ないでしょうか?
concat('ここ''aaaaa','ここ');
    ↓
'aaaaa'
のようにしたいのです。

A 回答 (2件)

XSLTスタイルシートで属性としてXPathが現れるような場合、'のように記述しても、'に置き換えられてからXPathとして評価されてしまうので、以下のように記述してもダメです。



<xsl:value-of select="concat('&apos;aaa','&apos;'&apos;)"/>

XPathが評価される段階では concat(''aaa',''') となってしまっているためです。

結局、シングルクォーテイションの中ではシングルクォーテイションを使うことはできないということが問題なのですから、以下のようにすればよいと思います。

<xsl:value-of select="concat(&quot;'aaa&quot;,&quot;'&quot;)"/>
※ 文字が勝手に置き換えられてしまうため、&を&で表しています。コピーアンドペーストする場合は気を付けてください。

こうしておけば、XPathが評価される段階では concat("'aaa","'") となって正しく評価されるはずです。

Xalanでしか試していませんので、実装によってうまくいかないことがあったらごめんなさい。
    • good
    • 0

\'aaaaa\'


のようにしたらどうでしょうか.

この回答への補足

色々と試してみたのですが、だめでした。
上記のものもだめなようです。

ちなみに、XSLTプロセッサはlibxsltです。
環境はSolaris8です。

補足日時:2003/02/17 16:27
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!