履歴もしくは日誌
2013 年 6 月の履歴(もしくは日誌)
2013 年 6 月
6 月 15 日
XSLT で困った
自分の web サイトを更新するためのスクリプトを走らせたらエラーが出ました.RDF ファイルを XSLT で XHTML に変換しようとしたらエラー.この更新用スクリプトは久しぶりに使ったので,いったいどうしてエラーなのかさっぱり.
エラーはこんな感じ.
$ xsltproc hoge.xsl fuga.rdf encoding error : output conversion failed due to conv error, bytes 0x00 0x3F 0x78 0x6D I/O error : encoder error
xsltproc は OS X 10.8.4 の /usr/bin/xsltproc です.
試しに古い MacBook の OS X 10.5.8 の /usr/bin/xsltproc を試してみたらエラーが出ませんでした.つまりぼくが書いたスタイルシートや生成された RDF に問題がある事よりも,xsltproc のバージョン依存の問題がある事が疑わしい.
で,「encoding error」ってなんだろう?
いろいろ試してみたら <xsl:output encoding="ISO-2022-JP" /> の encoding="ISO-2022-JP" を削るとエラーにならない事がわかりました.つまり,ぼくの Web サイトは基本的に JIS コードなんですが,xsltproc で JIS コード出力に問題があるみたい.仕方ないから UTF-8 で出力するようにしました.やれやれ.
Permalink Trackback URI http://onohiroki.cycling.jp/tb/tb.cgi/weblog_d20130615n1 TrackBack