MacIE 5.x の XML 実装状況
XML 非対応
- MacIE 5.x は XML 対応が目茶苦茶です。5.x内の小規模バージョンアップでは、根本的な改修は行われておらず、却って挙動が悪くなっているようです。
- XML 文書を閲覧する際、 MacIE 5.xは必ずと言って良い程不具合を生じます。XML 文書自体の解釈に関しては、 WinIE の方がずっと安定しています。
XML 仕様の実装状況
- WinIE 5.x と同様、ドラフト仕様に基づいた MS-XSLT を実装しています。 XML 文書がパージングエラーを起こさない限りは、意図通りのレンダリングを行ってくれます。
不具合
以下の記述は、主に MacIE 5.0 の挙動に基づいたものです。それ以降のバージョンの挙動に関しては、後述致します。
XML パージング関聯のバグ
- 外部 DTD を参照している文書を読み込むと、パージングに必ず失敗します。内部サブセットとして、文書インスタンスに直截記述することで、この問題を回避出来ます(ソースが汚くなります)。
- 整形式にも関わらず、意味不明のエラーを表示することがあります。
- WinIE 5.x と同様、 DTD 内における名前空間接頭辞がある要素/属性名の扱いに不具合があります。 WinIE 5.x と同様の処置を施すことで、この不具合は回避されます。
- utf-16 で記述された文書を正しく認識出来ず、文字化けしたソースコードを表示してしまいます。XML 日本語プロファイルでは、
XMLプロセサにUTF-16(及び "5.2 UTF-8"で説明するUTF-8)の実装を義務付けている。
と述べられているため、 MacIE 5.x の XML パーザとしての役割には致命的欠陥があると言えます。
CSS 適用時のバグ
xml-stylesheet
処理命令で CSS によるスタイルを指定している場合、 MacIE 5.x はしばしば正常な処理を出来ずに異常終了します。或は、レンダリングに失敗します。
- レンダリングに成功しても、非 ASCII 文字は必ず化けます(文字コードの種類には無関係です)。化け方が文書の文字コードに依存しないことから、一旦 UTF-8 に変換された後、無理矢理 Shift-JIS もしくは ISO-8859 を適用させているのではないかと推測しています。
MacIE 5.x 特有の不具合
- MacIE には、無印5.0と5.x系(5.1x;旧来のMac OS版/5.2x;Mac OS X版)とがあります。XML 文書の取り扱いに関し、両者には少からぬ違いがあります。
- 記事作成に関しては、ありみか様とあのー様から情報と助言を頂きました。どうもありがとうございました。
XHTML の閲覧
MacIE 5.x 以降では、 xml 宣言が存在する XHTML 文書を、ローカル環境で問題無く閲覧出来るようになりました。ただし、あくまで text/html と見倣して「XMLの仕様を回避した」パージングが出来るようになったに過ぎず、 XML における不具合が根本的に解決されたわけではありません。
パージングの失敗
MacIE 5.0 では首尾良くパージング出来た XML 文書でさえも、5.x版では必ずパージングに失敗し、異常終了してしまいます。もはや MacIE 5.x では、 XML 文書は全く取り扱うことが出来ないと言っても良いでしょう。
内部での挙動に関して
- MSIE では、XML のツリー表示やパージングに独自の XSLT と機構(MS XML Library)を用いているわけですが、 MacIE 5.x では、この機構そのものに不具合があるようです。そのため、いかなる XML 文書を処理しようとしても、途中でパージングを停止したり、異常終了したりしてしまいます。
- MacIE 5.x では XML を数多くの行程を経て処理しており、度重なる改修の結果、整合性が取れなくなってきているのではないか、とのことです(実際 5.0 でも、 XML 文書を読み込むと途端に重くなることがしばしばありました)。
- しかし、MacIE 5.xは、 XML 1.0 仕様書第二版以前の設計に基づいており、 XSLT 1.0 など最新の仕様を実装するのには無理があったのでしょう。 MacIE 5.xで XML の取り扱いに問題が多いのは、止むを得ない事かと思われます。
まとめ
- MacIE 5.x の XML に関する不具合は、上記のものばかりではありません。
- WinIE が Windows のアーキテクチャに依存した設計をなされている為、WinIE に搭載されている機能を導入する際、 MacIE 5.x ではプラットフォームの違いを吸収し切れていない部分があるのではないか、だから元来 WinIE ネイティブの機能であった XML パージングがうまく働かないのではないかと、個人的には考えております。
- MacIE 5.xが問題なくパージング/レンダリングする XML 文書を制作する事は不可能ではありません。しかし、 NN4.x が問題無くレンダリングするスタイルを制作するのと同じ位、面倒な作業となることでしょう。