HyperText Markup Language

出典: フリー百科事典『ウィキペディア(Wikipedia)』

HTML
HTMLコードの例。
拡張子 .html, .htm
MIME Type text/html
タイプコード TEXT
HTML
UTI public.html
開発者 World Wide Web Consortium
種別 マークアップ言語
拡張 XHTML
国際標準 ISO/IEC 15445:2000
  

HyperText Markup Language(ハイパーテキスト・マークアップ・ランゲージ、略称:HTML)は、ウェブ上のドキュメントを記述するためのマークアップ言語である。

ウェブの基幹的役割を持つ技術の一つで、HTMLでマークアップされたドキュメントはほかのドキュメントへのハイパーリンクを設定できるハイパーテキストであり、画像リストなどの高度な表現力を持つ。

W3Cは、XMLベースの規格であるXHTMLの勧告も行っている。また、2008年3月現在、HTML 5も策定中である。

目次

[編集] 特徴

HTMLの特徴は、ハイパーテキストを利用した、相互間文書参照のフレームワークである。マークアップはプレーンテキストの文書を要素で括って意味付けすることで行い、文書の特定要素にURIを用いた他文書へのリンクを記載しておけば、ユーザエージェントはそれを解釈して指定された他文書を表示させる事が可能となる。また、マークアップを施す際に引用や画像の埋め込み、文書のタイトルの指定などを定める要素を記載すれば、ユーザエージェントがそれらを解釈し、形態に見合った表示を行う。HTML はそうしたマークアップの規則を定めている。

マークアップ規則はDTDとして公開され、要素ごとに記載することの出来る属性、内容に含むことの出来る要素などが定められている。2007年4月現在の最新バージョンである XHTML 1.0 では[1]、厳密なもの (Strict)、HTML 3.2からの移行過渡期のためのもの (Transitional)、フレームを用いた文書のためのもの (Frameset) といった3つのDTDが定義されている。

要素開始タグ内容終了タグの三つで構成される。開始タグ・終了タグはそれぞれ <要素名>, </要素名> のように表現される。必要であれば、要素に付加する特性を現す属性を記述してよい。属性は開始タグの中に、要素名に続けて属性名と属性値の組み合わせを記述する。要素名と属性名については大文字と小文字を区別しない。属性値については、属性によって大文字と小文字を区別するかどうかが個別に定められる。要素によっては、文脈上一意に特定できる場合は開始タグや終了タグを省略できる[2]。また内容を持たず開始タグのみで構成される空要素も存在する[3]。さらに一部の属性についても属性値の省略が可能となっている[4]

HTML 3.2 では見た目を左右する要素や属性が追加されたが、HTML は本来文書構造を示すためだけにその存在意義があり、それらの要素は目的に反するものとされた。そのため視覚的・感覚的効果を定義する手段としてスタイルシート(一般にはその中のCSS)が考案された。見た目を左右する要素や属性の一部は、HTML 4以降では非推奨とされており、HTML 4.01 Strictでは定義されていないので使用できない。ただし、非推奨とされず、HTML 4.01 Strictで定義されている要素や属性の一部にも見た目を左右するものがある。装飾的な視覚表現のためにそれらの要素や属性を用いているのであれば、その内容に適する要素を用いた上で、スタイルシートで表現を指定するのが望ましい。
HTML 4.0策定時は、多くの利用者が未対応のブラウザを愛用していたため、スタイルシートによる制作の普及が遅れたものの、2005年の時点でHTML 4.01に対応するブラウザが普及したことで、主要なWebサイトではHTML 4.01に準拠した制作方法に切り替えられている。実際に表現力において、従来のHTML 2.xベースに比べて多彩な表現を可能にしている。

[編集] HTML文書

HTMLで書かれた文書をHTML文書と言い、DTDによって定義される書式に沿って記述しなければならない。DTDは文書型宣言(DOCTYPE宣言)で宣言したバージョンのものが選択される。

以下よりDTDはHTML 4.01 Strictのものを使い、要素名、属性は小文字で記すものとする。ただし、上述の通りHTMLにおいて要素名・属性の大文字小文字は区別されない。

HTMLでは、まず文書型宣言が必要となる。HTML 4.01 Strictの文書型宣言は以下のようなものである。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

このとき、HTML 4.01 Strictの使用およびその DTD の場所が明示されている。

次にHTML文書の例を挙げる。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 <html lang="ja">
  <head>
   <meta http-equiv="content-type" content="text/html; charset=UTF-8">
   <link rev="made" href="mailto:mail@example.com">
   <title>HyperText Markup Language - Wikipedia</title>
  </head>
  <body>
   <div>
    <h1>HyperText Markup Language</h1>
    <p>HTMLは、<a href="http://ja.wikipedia.org/wiki/SGML">SGML</a>
    アプリケーションの一つで、ハイパーテキストを利用してワールド
    ワイドウェブ上で情報を発信するために作られ、
    ワールドワイドウェブの'''基幹的役割'''をなしている。
    情報を発信するための文書構造を定義するために使われ、
    ある程度機械が理解可能な言語で、
    写真の埋め込みや、フォームの作成、
    ハイパーテキストによるHTML間の連携が可能である。</p>
   </div>
  </body>
 </html>

このHTML文書は次のような構造を示している。

文書型宣言
html要素(ルート要素。また、言語コードjaの言語が使われていることの明示)
 head要素(この文書のヘッダ情報の明示)
  meta要素(文書のメタ情報。この場合、HTTPヘッダの代用)
  link要素(他のリソースとの関連を明示。この場合、作者の明示)
  title要素(この文書のタイトルの明示)
 body要素(この文書の内容の明示)
  div要素(ブロックを明示)
   h1要素(第一レベルの見出しを明示)
   p要素(段落の明示)
    a要素(他のリソース([1])へのアンカーであることの明示)
    strong要素(強い強調であることの明示)

タグによって文字列を括ることによりその文字列の意味付けがなされる。ユーザエージェントはそれを解釈して、例えばGUIによるウェブブラウザであればstrong要素で括られたテキストを太字として表示するなどする。また、スタイルシートを用いることで見た目などを指定することができるようになっている。

[編集] HTMLタグ

タグとは本来 < に始まり > に終わる要素を記述するための符号を示す意味で用いられる言葉であるが、HTMLの要素を示す意味でタグと言う言葉が用いられることもある。W3C勧告のHTML4.01仕様書には、「要素はタグではない」としてこの用法を明確に否定する文言が見られる[5]

Webページを構築するCSSやJavaScript、CGIなどのこともタグであると言う事例があるが、これらは要素を記述する符号と言う意味が派生・曖昧化したものであり、コンピュータ用語として正しい用法であるとはいえない。

[編集] 歴史

HTMLは、環境に依存せずHTMLを書く側・読む側で矛盾が起こらぬよう標準化が進められてきた。初期はIETFからRFCとして標準化されていた。HTML 3.2 からはW3Cがその役目を担っている。

オリジナルのHTML(および多くの関連したプロトコル、HTTPなど)はティム・バーナーズ=リーによって、NEXTSTEPの動作するNeXTcubeワークステーション上で開発された。当時のHTMLは仕様ではなく、直面していた問題を解決するためのツール群であった。直面していた問題とは、バーナーズ=リーやその同僚たちがどのように情報や進行中の研究を共有するかということである。彼の成果は後に国際的かつ公開のネットワークの出現として結実し、世界的な注目を集めることになった。

HTMLの初期のバージョンはゆるい文法規則によって定義されており、ウェブ技術になじみのない層に受け入れられる助けとなった。ウェブブラウザはウェブページの意図を推測し、レンダリングを実行するのが一般的であった。やがて公式規格においては厳格な言語構文をつくることを志向するようになっていったが、ブラウザにおいては妥当なHTMLからは程遠いページをレンダリングすることがまだ続いている。

HTMLが形式的な仕様として定義されたのは1990年代のことであった。それは今までのSGML風のマークアップ言語にインターネットのためのハイパーテキストの機能を取り入れる、というバーナーズ=リーの提案に大きく影響を受けたものだった。初めてHTMLと呼ばれ、1993年IETFから公開された仕様(バージョン 1.0)から文法定義のDTDを持つようになり、形式的なSGMLアプリケーションとなった。また1994年にIETFのHTMLワーキンググループが発足した。しかし、2.0以降のIETFの元での開発は他の開発との競合から停滞した。1996年からはW3Cによって、商用ソフトウェア・ベンダーからの支援も受け、HTMLの仕様が標準化されている[6]。また2000年からは国際標準ともなった(ISO/IEC 15445:2000)。W3Cから公開された最新のHTML仕様はHTML 4.01である。

[編集] HTML 1.0

1993年6月に、IETFのIIIR Workingグループより提出されたインターネット・ドラフトを通常HTML 1.0と呼ぶ。このドラフトはティム・バーナーズ=リーおよびダニエル・コノリーによって、ティムの出したHTML Design Constraintsに極力従うように書かれた。

[編集] HTML+

この節は執筆の途中です この節は執筆中です。加筆、訂正して下さる協力者を求めています

[編集] HTML 2.0

1995年11月に、IETFのHTMLワーキンググループによってRFC 1866として仕様が発表された。HTML 2.0はRFC 2854によって破棄された。

[編集] HTML 3.0

策定作業が行われたが、ドラフトの段階で策定途中に破棄された。

[編集] HTML 3.2

1997年1月14日に、W3C勧告として仕様が発表された。

[編集] HTML 2.x

1997年1月、RFC 2070として発表された。「HTML i18n」とも呼ばれるが、現在はRFC 2854によって破棄された。

日本語を扱えるHTMLのバージョンとしては、最も古い。

[編集] HTML 4.0、HTML 4.01

1997年12月18日に、W3C勧告としてHTML 4.0の仕様が発表された。HTML 4.0は1998年4月24日に仕様が改訂された。この仕様にいくらかのマイナーな修正が加えられたHTML 4.01は1999年12月24日にW3C勧告となった。Strict DTDの他にHTML 3.2からの移行過渡期のためのTransitional DTDとフレームを使うことのできるFrameset DTDの3つのスキーマを持つ。

この後、HTML 4.01をベースとしてXHTML 1.0が策定されることになる。

[編集] ISO/IEC 15445:2000

HTML 4.01を参考にし、より厳密に規格化されたISO規格。翻訳されたものがJIS X 4156:2005というJIS規格になっている。

[編集] HTML 5.0(予定)

詳細は「HTML 5」を参照

ブログや記事向けの「article」要素やマルチメディアのための「audio」および「video」要素などをはじめとした新要素・属性が追加・変更・削除され、2010年9月に勧告される予定である。詳細はHTML5におけるHTML4からの変更点などのウェブサイトを参照のこと。

[編集] HTML形式の電子メール

詳細は「電子メール#メール形式」を参照

[編集] 脚注

[ヘルプ]
  1. ^ Latest version of HTMLとして紹介されている http://www.w3.org/TR/html の参照先は XHTML 1.0である。
  2. ^ HEAD要素、P要素、LI要素など
  3. ^ BR要素、IMG要素など
  4. ^ TABLE要素のborder属性、INPUT要素のdisabled属性など
  5. ^ W3C "HTML 4.01 Specification" 3.2.1 Elements, 24 December 1999
  6. ^ Raggett, Dave (1998). Raggett on HTML 4. Addison-Wesley, chap. 2: A history of HTML. ISBN 0-201-17805-2. 

[編集] 関連項目

Standard Generalized Markup Language
SGML。HTMLやXMLなどのマークアップ言語を定義するためのメタ言語のひとつ。
Extensible HyperText Markup Language
XHTML。HTMLをXMLで再定義したマークアップ言語。
Handheld Device Markup Language
HDML。モバイルコンテンツ用に定義されたマークアップ言語。
Cascading Style Sheets
CSS。段階スタイルシート。HTML文書やXMLアプリケーションなどの構造化文書にスタイルを付加することができる。
ダイナミックHTML
DHTML。Dynamic HTML。動的なHTMLの抽象的概念。
ユーザビリティ
ユーザーの立場に立った利便性を追求する概念。
アクセシビリティ
誰もが情報を取得・発信できる柔軟性に富んでいて、アクセスした誰もが同様に情報を共有できる状態にあること。あるいはその度合い。
ウェブブラウザ
World Wide Webの表示を主な機能とするユーザーエージェントMicrosoft Internet ExplorerMozilla Firefoxなど。
HTMLレンダリングエンジン
構文解析器によるHTMLの解析結果をもとに、表示、音声、あるいは点字などを生成する、World Wide Web ユーザーエージェントの構成要素。
文字参照
文字を入力するための機構。数値文字参照と文字実体参照がある。
Hypertext Transfer Protocol
HTTP。ハイパテキスト転送プロトコル。
Webオーサリングツール
ウェブコンテンツの作成を視覚的に行うことを目的とするツール。
検索エンジン最適化
SEO。検索結果の上位を目指した対策のこと。
Another HTML-lint
HTML文書をチェックするソフトウェアのひとつ。百点満点で採点を行う。

[編集] 外部リンク

ウィクショナリー
ウィクショナリーHTMLの項目があります。
ウィキブックス
ウィキブックスHTML関連の教科書や解説書があります。
ウィキメディア・コモンズ