HyperText Markup Language
HTMLコードの例。 |
|
| 拡張子 | .html, .htm |
|---|---|
| MIME Type | text/html |
| タイプコード | TEXT HTML |
| UTI | public.html |
| 開発者 | World Wide Web Consortium |
| 種別 | マークアップ言語 |
| 派生元 | SGML |
| 拡張 | XHTML |
| 国際標準 | ISO/IEC 15445:2000 |
| HTML |
|---|
|
各種項目
|
HyperText Markup Language(ハイパーテキスト マークアップ ランゲージ)、略記・略称:HTML(エイチティーエムエル)とは、ウェブ上のドキュメントを記述するためのマークアップ言語である。Web作成基本プログラミング用語であり、C言語のようなプログラミングとは違い、文章の中に記述することでさまざまな機能を記述設定することができる。 また、JavascriptやCSSなどを直接書き込まなくても、別ファイルからの呼び出しも可能である。
ウェブの基幹的役割を持つ技術の一つでHTMLでマークアップされたドキュメントはほかのドキュメントへのハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などの高度な表現力を持つ。
W3Cは、XMLベースの規格であるXHTMLの勧告も行っている。また2009年10月現在、HTML5も策定中である。
目次 |
[編集] 特徴
HTMLの特徴はハイパーテキストを利用した、相互間文書参照のフレームワークである。マークアップはプレーンテキストの文書を要素で括って意味付けすることで行い、文書の特定要素にURIを用いた他文書へのリンクを記載しておけばユーザエージェントはそれを解釈して指定された他文書を表示させることが可能となる。またマークアップを施す際に引用や画像の埋め込み、文書のタイトルの指定などを定める要素を記載すればユーザエージェントがそれらを解釈し形態に見合った表示を行う。HTMLはそうしたマークアップの規則を定めている。
マークアップ規則はDTDとして公開され要素ごとに記載することの出来る属性、内容に含むことの出来る要素などが定められている。2007年4月現在の最新バージョンであるHTML 4.01では厳密なもの(Strict)、HTML 3.2からの移行過渡期のためのもの(Transitional)、フレームを用いた文書のためのもの(Frameset)といった3つのDTDが定義されている。
要素は開始タグ、内容、終了タグの3つで構成される。開始タグ・終了タグはそれぞれ<要素名>、</要素名>のように表現される。必要であれば、要素に付加する特性を現す属性を記述してよい。属性は開始タグの中に、要素名に続けて属性名と属性値の組み合わせを記述する。要素名と属性名については大文字と小文字を区別しない。属性値については、属性によって大文字と小文字を区別するかどうかが個別に定められる。文脈上一意に特定できる場合は開始タグや終了タグを省略できる。また内容を持たず開始タグのみで構成される空要素も存在する[1]。さらに一部の属性についても属性名の省略が可能となっている[2]。
HTML 3.2では見た目を左右する要素や属性が追加されたがHTMLは本来文書構造を示すためだけにその存在意義があり、それらの要素は目的に反するものとされた。そのため視覚的・感覚的効果を定義する手段としてスタイルシート(一般にはその中のCSS)が考案された。見た目を左右する要素や属性の一部はHTML 4以降では非推奨とされており、HTML 4.01 Strictでは定義されていないので使用できない。ただしHTML 4.01 Strictで定義され、非推奨とされない要素や属性の一部にも見た目を左右するものがある。装飾的な視覚表現のためにそれらの要素や属性を用いているのであればその内容に適する要素を用いた上で、スタイルシートで表現を指定するのが望ましい。
HTML 4.0策定時は多くの利用者がCSSに未対応のブラウザを使用していたため、スタイルシートによる制作の普及が遅れたものの2005年時点でHTML 4.01に対応するブラウザが普及したことで多くのWebサイトではHTML 4.01に準拠した制作方法に切り替えられている。
[編集] 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> アプリケーションの一つで、ハイパーテキストを利用してワールド ワイドウェブ上で情報を発信するために作られ、 ワールドワイドウェブの<strong>基幹的役割</strong>をなしている。 情報を発信するための文書構造を定義するために使われ、 ある程度機械が理解可能な言語で、 写真の埋め込みや、フォームの作成、 ハイパーテキストによるHTML間の連携が可能である。</p> </div> </body> </html>
このHTML文書は次のような構造を示している。
文書型宣言
html要素(ルート要素。また、言語コードjaの言語が使われていることの明示)
head要素(この文書のヘッダ情報の明示)
meta要素(文書のメタ情報。この場合、HTTPヘッダの代用)
link要素(他のリソースとの関連を明示。この場合、作者の明示)
title要素(この文書のタイトルの明示)
body要素(この文書の内容の明示)
div要素(ブロックを明示)
h1要素(第一レベルの見出しを明示)
p要素(段落の明示)
a要素(他のリソースへのアンカーであることの明示)
strong要素(強い強調であることの明示)
タグによって文字列を括ることによりその文字列の意味付けがなされる。ユーザエージェントはそれを解釈して、例えばGUIによるウェブブラウザであればstrong要素で括られたテキストを太字として表示するなどする。また、スタイルシートを用いることで見た目などを指定することができるようになっている。 尚、テキストエディターで改行をしても、Webブラウザ上ではbr要素がなければ改行はされない。
[編集] HTMLタグ
タグとは本来<に始まり>に終わる要素を記述するための符号を示す意味で用いられる言葉であるが、HTMLの要素を示す意味でタグと言う言葉が用いられることがある(「Pタグ」など)。W3C勧告のHTML4.01仕様書には、「要素はタグではない(Elements are not tags.)」としてこの用法を明確に否定する文言が見られる[3]。
Webページを構築するCSSやJavaScript、CGIなどのこともタグであると言う事例があるがこれらは要素を記述する符号と言う意味が派生・曖昧化したものでありコンピュータ用語として正しい用法であるとはいえない。
[編集] 歴史
オリジナルのHTML(および多くの関連したプロトコル、HTTPなど)はティム・バーナーズ=リーによって、NEXTSTEPの動作するNeXTcubeワークステーション上で開発された。当時のHTMLは仕様ではなく、直面していた問題を解決するためのツール群であった。直面していた問題とは、バーナーズ=リーやその同僚たちがどのように情報や進行中の研究を共有するかということである。彼の成果は後に国際的かつ公開のネットワークの出現として結実し、世界的な注目を集めることになった。
HTMLの初期のバージョンはゆるい文法規則によって定義されており、ウェブ技術になじみのない層に受け入れられる助けとなった。ウェブブラウザはウェブページの意図を推測し、レンダリングを実行するのが一般的であった。やがて公式規格においては厳格な言語構文をつくることを志向するようになっていったが、ブラウザにおいては妥当なHTMLからは程遠いページをレンダリングすることがまだ続いている。
HTMLが公式な仕様として定義されたのは1990年代からである。それは従来のマークアップ言語であるSGMLに、インターネットのためのハイパーテキストの機能を取り入れるというバーナーズ=リーの提案に大きく影響を受けたものだった。
1993年にはIETFからHTML仕様書バージョン 1.0が公開され、SGMLからの拡張として文法定義のDTDを持つようになった。また1994年にIETFのHTMLワーキンググループが発足した。しかし、2.0以降のIETFの元での開発は他の開発との競合から停滞した。1996年からはW3Cによって商用ソフトウェア・ベンダーからの支援も受け、HTMLの仕様が標準化されている[4]。また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 2.x
1997年1月、RFC 2070として発表された。「HTML i18n」とも呼ばれるが、現在はRFC 2854によって破棄された。
日本語を扱えるHTMLのバージョンとしては、最も古い。
[編集] HTML 3.0
策定作業が行われたが、ドラフトの段階で策定途中に破棄された。
[編集] HTML 3.2
[編集] HTML 4.0、HTML 4.01
1997年12月18日に、W3C勧告としてHTML 4.0の仕様が発表された。HTML 4.0は1998年4月24日に仕様が改訂(revised)された。この仕様にいくらかのマイナーな修正が加えられた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
ISO/IEC JTC 1による規格。HTML 4.01を参考にし、より厳密に規格化された。これは2000年に翻訳されJIS X 4156:2000というJIS規格になった。
ISO/IEC 15445:2000は2003年に改正版(Corrected version)が発行された(ただし改正後も名称はISO/IEC 15445:2000のまま)。JIS X 4156も2005年に改正され、JIS X 4156:2005となっている。
[編集] HTML5(予定)
詳細は「HTML5」を参照
ブログや記事向けの「article」要素やマルチメディアのための「audio」および「video」要素などをはじめとした新要素・属性が追加・変更・削除される。2012年3月頃に正式に勧告される予定である。詳細はHTML5におけるHTML4からの変更点などのウェブサイトを参照のこと。
[編集] HTML形式の電子メール
詳細は「電子メール#メール形式」を参照
[編集] 脚注
- ^ BR要素、IMG要素など
- ^ TABLE要素のframe属性、INPUT要素のdisabled属性など。属性値の省略ではない。
- ^ W3C "HTML 4.01 Specification" 3.2.1 Elements, 24 December 1999
- ^ Raggett, Dave (1998). Raggett on HTML 4. Addison-Wesley. pp. chap. 2: A history of HTML. ISBN 0-201-17805-2
[編集] 関連項目
- Standard Generalized Markup Language — SGML。汎用マークアップ言語。
- Extensible HyperText Markup Language — XHTML。XMLで作ったHTML。
- Handheld Device Markup Language — HDML。携帯端末用のHTML。
- Cascading Style Sheets — CSS。表示方法・音声化方法を定義する設定ファイル。
- ダイナミックHTML — ユーザの操作で内容が変化するHTML文書
- ユーザビリティ — 利便性
- アクセシビリティ — 環境に依存しないアクセス容易性
- ウェブブラウザ — HTML文書を表示するシステム。
- HTMLレンダリングエンジン — HTML文書を表示・音声化・点字化するシステムの核。
- 文字参照 — 特殊な文字を表現する符号
- Hypertext Transfer Protocol — 通信規約
- Webオーサリングツール — ウェブ文書を視覚的に作成するシステム
- Another HTML-lint — HTML文書を検証するソフトウェア。
[編集] 外部リンク
- RFC 2854 - The 'text/html' Media Type.
- Another HTML-lint - HTML文書のチェックと採点。
- W3C Markup Validation Service - HTML文書のチェック。
- ごく簡単なHTMLの説明
|
|||||||||||||||||||||||||||||||