XHTMLについて。

XHTMLについて解説します。

XHTMLについて・目次。

XHTMLとは。

XHTMLとは、従来SGML応用言語とされていたHTMLを、XML応用言語にしたものです。

XHTMLの現状。

平成18年 5月18日現在、XHTML 1.0, XHTML 1.1及びXHTML 1.0 ベーシックが勧告されております。

これらは基本的にHTML 4.01と極めて互換性が高く、(好ましいか好ましくないかはともかく)在来HTMLとして扱っても余り問題になる事はありません。

現在、W3Cでは、よりXMLの持つ柔軟性を活かしアクセシビリティを向上させたXHTML 2.0の勧告に向けて作業中となっております。

XHTML 2.0では在来HTMLとの互換性は無くなりますが、XSLTなどのXML関連技術さえ普及すれば在来HTMLしか扱えないユーザエージェントでも問題なく利用出来る事になるでしょう。

W3Cは、当初ウェブ文書の標準フォーマットをXHTMLに移行させる方針で、このためXHTMLの後継仕様としてXHTML 2.0の策定を進めてきました。

しかし、現場ではXHTMLはあくまでも在来のHTMLの代用としてしか用いられず、このため今日ではウェブ文書のXHTML化は断念され、XHTML 2.0も廃案となりました。

今後、現在策定中の在来HTML規格・HTML 5のXML化言語であるXHTML 5が後継規格となる事が予想されます。

XHTMLの特徴。

XHTMLXML応用言語です。

このため、在来HTMLに較べて、以下の点が変わります。

文書冒頭にて<?xml ?>宣言をする事が強く求められている

<?xml ?>宣言はXMLベースの文書でUTF-8かUTF-16でエンコードされている場合を除いて必ず書かなければなりません。

スタイルシート言語は<?xml-stylesheet ?>処理命令でリンクする事が望ましい

XMLではスタイルシート言語を併用するために<?xml-stylesheet ?>処理命令を用意しており、XML応用言語であるXHTMLでも当然これの使用が望ましいとされます。

タグの省略は基本的に禁止

在来HTMLでは、要素の終了点が明確な場合は終了タグが省略出来ました。

また、要素の存在が明確な場合は開始タグも省略出来ました。

XMLでは如何なる場合でもタグの省略が出来ません。

空要素でも終了タグが必要

<img>要素など、内容を持ち得ない要素(空要素)は在来HTMLでは終了タグを書いてはいけない事になっておりました。

しかしながら、XMLでは如何なる場合でも終了タグを省略出来ません。

属性値のみの記述は禁止

在来HTMLでは、論理型属性(属性が有るか無いかだけが意味を持つ属性)など一部属性においては属性値を記述するだけで良い事になっておりました(例: <input>要素のchecked属性値など)

しかしながら、XMLではそのような記述は認められず、論理型属性であっても属性名を記述する必要があります。

この他、エラーに関するチェックが非常に厳しくなります。

例えば、在来HTMLでも「>」を文字参照で書かないとエラーになるのですが、ユーザエージェントはそれがタグ内で無い限り弾いたりはしないでしょう。

XMLではどのような状況でも「>」を記述する場合は文字参照で書かないと致命的エラーになり、文書そのものが弾かれてしまいます。

XHTMLの利点。

XHTMLには以下のような長所があります。

他の応用言語が組み込める。

XHTMLXML応用言語ですので、他のXML応用言語を組み込む事が出来ます。

現在でも、

MathML
数式記述専用のマークアップ言語
RDF
ウェブ文書のメタ情報を記述するマークアップ言語
SVG
二次元のヴェクタグラフィックスを記述するマークアップ言語
XLink
他のXML文書等との関連付けを指定する機構

等と言った応用言語が組み込めますし、今後もXHTMLと併用出来るXML応用言語は増える事でしょう。

但し、XHTMLに他のXML応用言語を組み込む場合、文書型宣言はXHTMLで定義されているものをそのまま使うことは許されません。

W3Cなどが公式に公開している文書型宣言が無い場合は自分でDTD(文法を定めた文書)を作成してそれをシステム識別子とする文書型宣言を付けなければなりません。

XHTMLの拡張が自由。

XHTMLXMLの一種なのでそれ自身も再定義が可能です。

再定義でなくても、公式仕様に無い要素(<embed>要素など)をDTD(文法を定めた文書)に組み込んで利用する事も許されております。

但し、XHTMLを拡張する場合、文書型宣言はXHTMLで定義されているものをそのまま使うことは許されません。

W3Cなどが公式に公開している文書型宣言が無い場合は自分でDTD(文法を定めた文書)を作成してそれをシステム識別子とする文書型宣言を付けなければなりません。

しらぎくのウェブサイト作成入門サイトマップ

ページ外へのご案内。

marguerite.site@gmail.com