HTML5推奨基準の成功の1つは、HTMLドキュメントを解析する方法に関する詳細な仕様の提供です。ブラウザプロバイダーは、HTMLドキュメントを処理する際にパーサーがあまり多くの問題を引き起こさないことを期待して、他のブラウザーの実装を推測およびコピーしようとすることを常に試みてきました。
HTML5の一部は現在議論の余地がありますが、解析に関するこの部分は、ブラウザーメーカーによって満場一致で認識されています。ブラウザが実装を開始すると、ユーザーはそれに伴う互換性の改善から利益を得ることができます。
HTML5解析ルールの初期実装の1つは、HTML5バリデーターをサポートするために開発されました。 (このバリデーターをテストする場合、http://ejohn.orgは法的なhtml5である必要があります。)この実装はJavaで開発され、SAXおよびDOMインターフェイスを提供し、オープンソースです。
興味深いことに、Henri Sivonen(Validatorの著者)は最近、Geckoの新しいHTML5解析エンジンを開発しました。これは、Firefoxの次のバージョンで使用されます。
この実装は、実際には、HenriのHTML5パーサーのJava実装をC ++に自動的に変換することによって行われます。この変換は自動的に完了し、すべての変更がMozillaコードベースに提出されます。
一般的に言えば、JavaコードベースをC ++に変換するためのこの大規模なプログラム的アプローチに言及すると、飛び出します。ただし、結果は非常に予想外です。ページの読み込みパフォーマンスは3%増加しています。
これらは、コードベースが提供する一連のバグ修正と一貫性チェックに基づいています。 MozillaのBug Libraryのパッチの進行状況を表示できます。
新しいパーサーを試してみたい場合(多くの明らかな変更を見つける可能性は低いですが、バグを見つける努力は感謝に値します。)、firefoxの毎日のビルドバージョンをダウンロードして、about:config、html5.enableをtrueに設定します。
HTML5にアップグレードしたい場合は、今がその時です。 HTML5はHTML4とXHTML1が提供する機能のスーパーセットであるため、アップグレードは非常に簡単です。現在(x)HTMLドキュメントタイプの宣言をHTML5ドキュメントタイプに置き換えるだけです。
<!doctype html>
HTML5 Doctor Webサイトからすべてのブラウザで動作する新しいHTML5要素を取得する方法の詳細を見つけることができます。