XHTML - Extensible HyperText Markup Language

contents

  1. HTML
  2. XML
  3. XHTML
  4. DTD
    1. XHTML-1.0-Strict
    2. XHTML-1.0-Transitional
    3. XHTML-1.0-Frameset

HTML - Hypertext Markup Language

XHTML とは、 XML ベースのパブリッシング言語であり、 HTML の構造化言語としての特性を特化したものと云える。

HTML はそもそも SGML (Standard Generarized Markup Language) によって定義される構造化言語の一例( SGML アプリケーション)である。従って、 W3C の HTML 4 仕様書には、一つの SGML 宣言と、三つの文書型 (DTD) が含まれていた。

SGML は電子文書の交換、管理、出版などを目的とする構造化言語そのものの記述のため言語で、1980年代半ばから広まり、その柔軟性と拡張性を基に、堅牢な支持を得てきた。HTML もその一例だが、SGML ベースの言語では、予め文書型 DTD (Document Type Definition) が定義されており、文書記述者はその DTD に従ってマークアップしていた。

SGML は、豊富な将来性や柔軟性と云う豊かな潜在能力を持つが、その複雑さが WWW での実装段階で影を落とすようになった。HTML はこの複雑さを回避するために、当初最低限度のタグを定義していたが、最初の 視覚的ブラウザである Mosaic の爆発的普及と急速な発展に伴い、 HTML の爆発的一般化とブラウザ開発の熾烈な市場競争が続き、独自拡張によるタグの数も飛躍的に増えて行った。

これと歩を供にして、ほんの短期間の内に、当初目的とされ、現在でも理想とされている、「異なる環境での文書の互換性」さえ失われかねなくなリ、 W3C は HTML 3.2, HTML 4 と標準仕様を策定してきたが、それでも現状では適切に互換性を保つ事は或る程度制限される事が明らかとなった。

XML - Extensible Markup Language

SGML を、 WWW 上で利用するために、SGML の本質であった柔軟性や豊富な機能を犠牲にして簡略化したものが XML である。

XML では、SGML ほどの機能は無いものの、文書型を自ら定義できる。従って、いつでも思うままにマークアップを追加でき、 UA (User Agent) は、そこで定義された DTD を参照する事で、プライベートなマークアップも、記述者の意図通りに解釈できる。

従って、「独自拡張」は、プライベートなものではなく、記述者はその定義である DTD を UA に受け渡し、一般的にできる事が約束されている。

以前はアプリケーションに依存してた SGML 文書(データベース、規格文書など)を、 WWW 上で特定の出力、解釈装置に依存しないで相互利用する為の規格が XML である。要素の抽出、並べ替えなど、データとして意味を持つ文書を作成できる。

XML は、 文書記述者自らがマークアップ要素などを定義でき、ルールが厳格なため、実装段階でのアプリケーション・ソフトの開発労力、コスト、ファイル・サイズ等の点で、大幅に削減できるだろうと期待される。

XHTML - Extensible hypertext Martkup Language

SGML の複雑さと HTML の互換性の混迷を、抜本的に解決しようと図った第一歩が、 XHTML 1.0 である。SGML ベース( SGML アプリケーション)であった HTML 4 を、より狭量な簡略形である XML ベース( XML ボキャブラリ)で再形式化したものである。

その要素や属性は HTML 4 で定義されたままであり、 HTML 4 を作り直したものに過ぎないが、要素の入れ子関係や排他要素などの点ではむしろ簡略化されており、技術的には後退したと云っても良い。しかし、 Netscape Navigator と Internet Explorer に代表されるブラウザ開発競争と独自拡張の乱発を背景とした、意味不明のサポートミスを根絶し、異なる環境での文書の互換性を回復する為の第一歩である。

XHTML 文書は、 HTML (text/html) 文書として可読であり、且つ XML (text/xml) 文書としても利用可能。但し、 XHTML 1.0 に則れば、そのままで XML 文書としても、 HTML 文書と同様の表示が得られると云うわけではない。あくまでも、データとして XML 文書と同格、同様に扱えると云うだけである。 XML 文書として解釈された後で、 HTML 文書と同様の表示を求めれば、 XML コードを更に修正する必要が有る。

DTD - Document Type Definition

XHTML 1.0 の DTD は、 HTML 4 の DTD を XML ベースで再構成したものであり、XHTML 1.0 文書は、これら三つの文書型の何れかに適合させなければならない。

XHTML 文書の最大親要素(ルート)は、 HTML 文書と同様 html でなければなりませんが、この開始タグ( <html> )に先立って、文書型を宣言する必要が有ります。

XHTML 1.0 Strict

<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional

<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset

<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

これは一般に XML 文書における DTD と同じ表記法です。ルート要素(最大親要素)の名前が html で、公開識別子 PUBLIC が指定されています。

また、 PUBLIC 識別子が無視される場合の SYSTEM 識別子用に URI を明記してあります。

XML では、大文字と小文字を厳格に区別しますので、その点も御注意下さい。XML では原則小文字で記述しますが、 DTD は SGML の記法を引き継いでいるので、大文字で記述します。

SEO [PR] !uO z[y[WJ Cu