xslt、xmlに関して質問です。すっごく悩んでいます。

ご協力お願いします。

xmlで以下のようなタグで定義されている内容があるとします。
<currentmonth>200909</currentmonth>

このとき、xsltでなんらかの操作をすることで"2009"の部分の値だけを取得してvalue-ofで表示したいのです。
そもそも「定義されている内容の上4ケタだけを取得する」というのはできるものなのでしょうか?
わかる方、お力を貸してください。よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/10/13 20:50:49
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Mook No.1

回答回数1314ベストアンサー獲得回数393

ポイント35pt

XLST では文字列関数として substring に対応しているようですから、

<xsl:for-each select="substring(currentmonth,1,4)"/>

のような使い方でできないでしょうか。


http://www6.airnet.ne.jp/manyo/xml/functions/step20.html

http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt09.html

id:Ryo0524

URL、参考になりました。

無事、表示できました。ありがとうございました。

2009/10/13 20:49:38

その他の回答1件)

id:Mook No.1

回答回数1314ベストアンサー獲得回数393ここでベストアンサー

ポイント35pt

XLST では文字列関数として substring に対応しているようですから、

<xsl:for-each select="substring(currentmonth,1,4)"/>

のような使い方でできないでしょうか。


http://www6.airnet.ne.jp/manyo/xml/functions/step20.html

http://www.atmarkit.co.jp/fxml/tanpatsu/xslt/xslt09.html

id:Ryo0524

URL、参考になりました。

無事、表示できました。ありがとうございました。

2009/10/13 20:49:38
id:k2jp No.2

回答回数19ベストアンサー獲得回数6

ポイント35pt

XSLT かなりブランクあるので思い出しながらですが...

XPath の substring 関数で抽出できると思います

<xsl:value-of select="substring("200909", 1, 4)"/>

=> "2009"

みたいにいきませんか?

id:Ryo0524

ありがとうございます。思っていた通りの表示にできました!!

2009/10/13 20:50:28

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません