XHTML:XMLベースで再定式化されたHTML
XHTMLは、整形式、小文字の要素名、引用符付き属性値、空要素の自己終了を要求する、XML準拠のより厳格なHTMLの再定式化です。ユーザーエージェント間の一貫性と相互運用性の向上に用いられます。
概要
XHTMLは、eXtensible HyperText Markup Language(拡張可能ハイパーテキスト・マークアップ言語)の略称です。これは、HTMLをXMLの構文と規則で再構成したマークアップ言語群です。その目的は、従来のウェブ用マークアップにXMLの厳格な整形式要件を導入し、ウェブサイトやウェブページを、各種ツールやエンジン間でより容易に解析、変換、交換できるようにすることでした。XHTMLは、以前は異なるユーザーエージェント間での表示動作の差異につながり得た、曖昧または寛容な記述方法を減らすことを目指しています。
主な特徴
より寛容な版のHTMLと比べ、XHTMLはXMLに由来する、いくつかの重要な規則を強制します。主な規則は次のとおりです。
- 整形式:すべての開始タグには対応する終了タグが必要です。ただし、空要素は自己終了形式で記述しなければなりません。
- 小文字の使用:一貫したトークン化を確保するため、要素名と属性名は小文字にします。
- 属性値の引用:すべての属性値は引用符で囲む必要があり、値を省略する属性の簡略記法は認められません。
- 適切な入れ子構造:要素どうしを重ねてはならず、開いた順序とは逆の順序で閉じる必要があります。
- 名前空間とDOCTYPE:適切なXML名前空間と、選択したXHTMLプロファイル(たとえばXHTML 1.0 StrictまたはTransitional)に適したDOCTYPEを用います。
歴史と発展
XHTMLは、HTMLを近代化し、信頼性の高い解析やXMLツールとの互換性といったXMLの利点を取り込む取り組みの一環として、1990年代後半から2000年代初頭にかけて開発されました。W3CはHTML 4.01の再定式化としてXHTML 1.0を公開し、その後のXHTML 1.1ではモジュール化が導入されました。時代が進むと、ウェブはHTML5へ移行しました。HTML5はXML固有の制約の一部を緩和する一方、一般にXHTML5と呼ばれるXMLシリアライゼーションも定義しています。全盛期のXHTMLは、よりクリーンで予測しやすいマークアップを書くことを著者に促しました。
実用、例、およびトレードオフ
XHTMLを記述する著者は、構文に注意を払う必要があります。たとえば、寛容なHTMLにおける空の改行要素は<br>と書けますが、XHTMLでは<br />と記述します。同様に、水平線は<hr>ではなく<hr />です。このような小さな違いは重要です。XMLパーサーは、整形式でない文書を受け付けないためです。
XHTMLの利点には、機械による処理の容易さ、XMLツール(XSLT、XMLシリアライザー)との相互運用性の向上、レイアウトの不具合を減らし得る記述上の規律があります。一方、歴史的な欠点には、より厳格なコンテンツタイプの扱いがありました。XML MIMEタイプで文書を配信すると、旧式のウェブブラウザにおける解析上の差異が表面化することがあり、また一部のレガシーユーザーエージェントは、application/xhtml+xmlとして配信されたXHTMLを正しく処理できませんでした。
主な相違点と現在の位置付け
XHTMLはXMLの制約を持つ点で従来のHTMLと異なりますが、現代のHTML開発にも影響を与えています。HTML5の寛容な構文は多くの開発者にとって記述を簡単にした一方、XHTMLの考え方はXMLシリアライゼーションや、厳密に機械解析可能なマークアップを必要とするプロジェクトに受け継がれています。今日の著者は、幅広い互換性のためにはHTML構文を、ツールやワークフローが厳格さから利益を得る場合にはXMLシリアライゼーション(XHTML5)を選択します。
参考情報
構文規則、DOCTYPEの選択、移行時の考慮事項については、HTMLとXMLの両方の標準に関する資料を参照できます。一般的なブラウザーの動作と互換性については、レンダリングエンジンおよびブラウザーのサポートに関する資料が参考になります。また、初期のXHTML仕様やHTML5シリアライゼーションにおける後年の発展を扱う入門資料もあります。
比較例として、<br>は寛容なHTMLでの記述であり、XHTMLでは<br />とします。また、閉じていない<img>タグではなく、<img src="image.png" alt="desc" />と記述します。こうした慣例は予測可能な解析を確保するのに役立ち、XHTMLの厳格な手法の本質を示しています。
関連項目
著者
AlegsaOnline.com XHTML:XMLベースで再定式化されたHTML Leandro Alegsa
URL: https://ja.alegsaonline.com/art/109475