2004年01月18日(日)更新 |
■concatで文字列をつなげる
たけち: 今回は 前回(contains)の続きで、xpathの文字列操作関数のひとつ、concatの使い方をサンプルで勉強しようね。 さらら: concat(コンキャット)?? なんだか、狐と猫が合わさったような名前ね。 たけち: さらら・・・・・・・ (ー ー; さらら: あっ、concatって? |
■concat
たけち: concatって、「つなげる」って言う意味のconcatenationの略なんだよね。この関数は、文字列をつなげて、ひとつの文字列にしてくれるんだよ。
さらら: あっ、そうなの。でも、実際どんな風に使うのかしら・・・・ たけち: そうだね。この文字列関数だけ示されても、ちょっと使い方がイメージしにくいかもね。じゃあ、さっそく、万葉集の例で使い方を図にしておくね。 |
たけち: 図でわかるように、concatでは、指定した文字列やXMLテキスト中の指定したノードの文字列をひとつの(長い)文字列にしてくれるんだよね。 さらら: あぁ、そうなのね。でも、このconcatをどこで使うの? たけち: そうだね。実際のXSLスタイルシートでは、このconcatだけ単独に使うわけじゃないから、ちょっと使い方がいま一つイメージしにくいかもね。 |
■<xsl:value-of select="concat(文字列,文字列)" />のサンプル
たけち: よく使われるのが、
さらら: あぁ、そうなのね。XMLからのテキスト(文字列)と別のテキスト(文字列)をつなげて表示したいときに使うってことなのね。 たけち: そうそう。じゃぁ、今回は、前回のサンプルの一部をconcatを使ってやってみよう。XMLテキストはいままでと同じだよ。 |
xmlデータ |
---|
<?xml version="1.0" encoding="Shift_JIS"?> |
たけち: 次に、前回のXSLサンプルでXMLテキスト中の文字列と固定の文字列を続けて書いている個所を、今回concatを使ってどんな風に指定するかを乗せておくね。 |
さらら: あっ、こうやって使うのね。 たけち: じゃあ、変更後のXSLスタイルシートを次に載せるね。 |
XSLTスタイルシート |
---|
<?xml version="1.0" encoding="Shift_JIS"?> |
さらら: このXSLTでの表示は、たのしい万葉集のページへのリンクも生成しているのね。 たけち: そうだね。じゃあ、このXSLTスタイルシートを"concat.xsl"というファイルにして、実際にどうなるか見てみようね。次のテキストをクリックしてみて。 |
さらら: そうかぁ・・・・concatの使い方は分かったわ。 たけち: よかった。じゃあ、今回はこれでおしまい。 さらら: はい。 →次はcontainsです。。。 (^ ^; |