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


2005 年 4 月

4 月 20 日

Safari 1.3 の XSLT 処理は日本語を扱えるのか?

Safari 1.3 が XSLT スタイルシートの処理に対応したそうです.それで従来は RSS などの HTML/XHTML でない XML ファイルをうまく表示しなかったのですが,XML から XHTML か HTML に変換する XSLT スタイルシートを準備して関連づけておけば,Safari でも XML ファイルをうまく表示できるようになったわけです.

この機能は Internet Explorer や Firefox, Mozilla, Netscape などにはありましたが,Safari や Opera にはありませんでした.Opera の最新版については良く知りませんが.

で,さっそく Safari 1.3 で RSS がどのようになるのか試してみましたが,駄目ですね.日本語が文字化けします.元の XML ファイルも XSLT スタイルシートも返還後の XHTML も UTF-8 という設定なのに文字化けします.なんか XSLT の処理に問題があるのでなくて,処理後の XML を US-ASCII として表示しようとしているのではないかなぁ.

ターミナルから /Applications/Safari.app/Contents/MacOS/Safari と打って Safari を起動してみました.ターミナルからだと Fink を利用してインストールしてある別の libxslt が優先されるはずです.その状態で XSLT スタイルシートが指定されている XML ファイルを開こうとしたら,エラーになり Safari は終了してしまいました.エラーの表示は次の通り:

dyld: /Applications/Safari.app/Contents/MacOS/Safari Undefined symbols:
WebCore undefined reference to _xsltSetLoaderFunc expected to be defined in /sw/lib/libxslt.1.dylib
Trace/BPT trap

まぁ libxslt が問題で文字化けしているわけではないと思うのですが,Fink 側の libxslt が優先される環境では Safari の XSLT 処理はうまく動かないようですね.

と,いうわけで,ぼくの環境では XSLT を処理させても結果の日本語テキストが文字化け状態で使い物になりませんでした.だれかうまく行っている人がいたら教えてくださいまし.

新しい Mac OS X では Safari で RSS に対する対応がされるのですが,その準備がされている痕跡が Safari 1.3 にもありますね.いくつか RSS のアイコンの画像が入っていました.実は隠し機能になっていたりしないのでしょうか.

/Applications/Safari.app/Contents/Resources/HideRSSButton.tif
/Applications/Safari.app/Contents/Resources/HideRSSButton_Pressed.tif
/Applications/Safari.app/Contents/Resources/RSSPreferences.tiff
/Applications/Safari.app/Contents/Resources/RSSProxyImage.tif
/Applications/Safari.app/Contents/Resources/ShowRSSButton.tif
/Applications/Safari.app/Contents/Resources/ShowRSSButton_Pressed.tif

Safari 1.3 の XSLT 処理での日本語の文字化けについては次の記事で画面取込み画像付きで紹介されてました:

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