●XHTML1.0文書の特徴と注意点
従来のブラウザでも表示できるようHTML4.01の要素や属性をXMLで定義し直したXHTML1.0では文書の作成にもHTMLの知識が利用できる仕様になっています。しかし、XMLのルールに基づいているため、文法的にはHTMLよりも厳密です。
XHTML1.0で定義される文書がHTML4.01と異なるのは以下の点です。
●XML宣言
XHTMLでは文書の先頭にXML宣言を配置します。文字コードUTF-8またはUTF-16場合は、XML宣言そのものを省略できるとされていますが、記述することが強く推奨されています。
●文書型宣言と表示モード
XHTML1.0では、HTML4.01と同様に3種類の文書型定義と文書型宣言が用意されています。このうちのいずれかを宣言する必要があります。XHTMLではシステム識別子を省略することはできません。
XHTMLでは、これらのいずれの文書型宣言の場合にも表示モードは「標準モード」となり、文書型宣言がない場合には、「互換モード」となります。HTMLと同様に「ほぼ標準モード」を加えた3通りの常時方法を備えているブラウザもあります。
名前空間と言語コード
XHTML文書でも起点となるのはHTML要素です。また、HTML要素には、生絵空間と言語コードを指定します。
名前空間はxmlns属性で、http://www.w3.org/1999/xhtmlを値として指定します。言語コードの指定はxml:lang属性で行いますが、XHTML1.0ではHTML文書との互換性を考え、lang属性も同時に指定しておきます。
●終了タグ
・終了タグを省略しない
HTMLでは要素によっては終了タグが省略できました。例えば、p要素では次のように記述しても誤りではありません。
例:〈p〉段落1
〈p〉段落2
XTMLでは終了タグが省略できないため、必ず次のように記述します。
例:〈p〉段落1〈/p〉
〈p〉段落2〈/p〉
・空要素にも集了タグが必要
HTMLにはbrやimgのように、内容を持たない空要素があります。空要素には開始タグのみで終了タグがありません。XHTMLでは終了タグを省略することができないため、から要素も閉じるようにします。
以下のように要素名の後に半角スペースとスラッシュを起き、タグを閉じます。
〈要素名 /〉
〈要素名〉〈/要素名〉とする書式もありますが、ブラウザによってはサポートしていない場合もあるので、〈要素名 /〉の書式で記述した方がいいでしょう。