- - PR -
日付の値を以上以下で検索
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2002-05-22 17:10
こんにちは。
<Page> <PaperName>なんちゃら新聞</PaperName> <PublishDate>2002/3/18</PublishDate> <PageNo.>1</PageNo.> <FileName>なんちゃら新聞2002年03月18日01.tif</FileName> <FileID>2002031801.tif</FileID> <PreviewImage>なんちゃら新聞2002年03月18日01.jpg</PreviewImage> <PreviewID>2002031801.jpg</PreviewID> </Page> <Page> <PaperName>なんちゃら新聞</PaperName> <PublishDate>2002/3/18</PublishDate> <PageNo.>2</PageNo.> <FileName>なんちゃら新聞2002年03月18日02.tif</FileName> <FileID>2002031802.tif</FileID> <PreviewImage>なんちゃら新聞2002年03月18日02.jpg</PreviewImage> <PreviewID>2002031802.jpg</PreviewID> </Page> 上のようなXML文書の中のPublishDateノード内を、日付の範囲を指定して検索をしたいのですが、どのようにしたらよいのかわかりません。 JavascriptとXSLを使って、HTMLに書き出しています。 |
|
投稿日時: 2002-05-22 18:06
井上です。
substring-before() 関数と substring-after() 関数を組み合わせると、 yyyy/mm/dd 形式の日付から yyyy と mm と dd を個別に取り出すことが できます。これと、format-number() 関数を組み合わせると、月や日の数 値が一桁のときに、頭に「0」を補うことができます。 あとは、これらを concat() 関数で全部くっつければ、yyyy/mm/dd が yyyymmdd に変換できます。これで、数値として大小比較できます。 逆に、XML 文書中では yyyymmdd 形式で書いておいて、桁数を指定して substring() 関数で yyyy と mm と dd を個別に取り出し、concat() 関数で「/」を挟みながら連結して出力する、という方法もありますね。 # 実はこの話、近日刊行予定の XSLT の解説書に書いたネタ、 # そのまんまです (^^; _________________ www.kojii.net |
1