2005 年 6 月の履歴(もしくは日誌)


2005 年 6 月

6 月 7 日

Google Sitemaps の Time Zone offset まわりの不具合

すげー簡単なんて言い放ちましたが,じつは昨日の XSLT スタイルシートで RSS 1.0 から ML Sitemap Format のファイルへ変換して Google Sitemaps に登録してみましたが,Invalid Date って言われてしまいました.これはどうも Google Sitemaps 側の不具合らしいです.

一部を引用します:

Sitemap Protocolを読むと、lastmod要素のタイムスタンプはISO 8601形式(Date and Time Formats)で指定することになっていますが、実際にはISO 8601形式のすべての時刻表現を受け付けてくれるわけではないようです。私の気が付いた限りでは、以下のようにLocal Time + Time Zone offset (2005-06-04T09:24:00+09:00)で指定しようとすると、Google Sitemapsは「Invalid Date」と判定するようです。

引用終わり.

まさにこの問題のためにぼくが試した時も駄目でした.

この不具合は Google 側が修正対応してくれるのだろうと期待していますが,とりあえずはざっくり時刻情報を無くしてしまえばいいかなぁ,Google からの情報収集が数時間おきにくる訳ぢゃないんだから.

そういう訳で XSLT を一部修正してみます.

 <xsl:template match="rss:item">
    <url>
        <loc><xsl:value-of select="rss:link"/></loc>
        <lastmod><xsl:value-of select="substring-before(dc:date,'T')"/></lastmod>
    </url>
 </xsl:template>

時刻情報を削って日付だけにするのではなく,時差を計算して世界標準時に変換するなら EXSLT の Dates and Times を使うことになるでしょうね.

http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20050607n1 TrackBack