朝顔日記

rNote 試し中

publish
2004-08-04T00:00:00+09:00
tags
はてぶ

rNote がおもしろいので、移行できるものかどうか試し中です。とりあえずこれまでの日記ログをぶち込んでみるべく、rNote 用の xml に変換してみた。

以下の xslt を捏造して、過去ログに適用。

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet version="1.0"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns="http://www.w3.org/1999/xhtml"
  xmlns:redirect="org.apache.xalan.xslt.extensions.Redirect"
  xmlns:x="http://www.w3.org/1999/xhtml"
  extension-element-prefixes="redirect"
  exclude-result-prefixes="x">
  <xsl:output method="xml" version="1.0" encoding="UTF-8"
    indent="yes"
    omit-xml-declaration="no"/>
  <xsl:template match="x:html/x:body/x:div/x:div/x:div">
    <redirect:write select="concat(x:h3/@class,'/',@id,'.xml')">
      <rNote xml:lang="ja" xmlns="http://rinn.e-site.jp/rnote/">
        <Title><xsl:value-of select="x:h3"/></Title>
        <Description><xsl:variable name="first" select="1"></xsl:variable><xsl:value-of select="x:p[$first]"/></Description>
        <Date><xsl:value-of select="../x:h2"/></Date>
        <Category><xsl:value-of select="x:h3/@class"/></Category>
        <Id><xsl:value-of select="@id"/></Id>
        <Text xmlns="http://www.w3.org/1999/xhtml">
          <xsl:copy-of select="child::node()[position()&gt;2 and position()&lt;last()-1]"/>
        </Text>
      </rNote>
    </redirect:write>
  </xsl:template>
</xsl:stylesheet>

これまでの日記の過去ログ35ファイルに、これを適用したところ、約700個の xml が10分ほどで生成されました。xalan-java のリダイレクトエクステンションを使用しています。日付の表記が違うのは面倒なので、あとで xyzzy の Gresreg で一括置換しました。:p)

出来上がった xml にある、Id 要素と Category 要素は、私が適当にでっちあげたものです。もとの記事の id と、カテゴリーですが、のちのちさらに何かすることがあれば埋めておくと便利かなと考えました。

今は、ぼちぼちスキンをいじっていますが、移行するかどうかはその出来次第という感じかな。

「rNote 試し中」へコメントをつける

書き込み時の挙動について
URI らしき文字列には自動的にリンクが張られます。また "<" や、">" は実体参照化されます。
スパム対策のため、リファラを切っていると投稿できません。

この記事の永続的 URI ならびに トラックバック ping URI
http://diary.noasobi.net/2004/08/diary_040804a.html