HyperText Markup Language
テンプレート:WikipediaPage テンプレート:Infobox file format テンプレート:HTML HyperText Markup Language(ハイパーテキスト マークアップ ランゲージ)、略記・略称HTML(エイチティーエムエル)とは、ウェブ上の文書を記述するためのマークアップ言語である。文章の中に記述することでさまざまな機能を記述設定することができる。
ウェブの基幹的役割を持つ技術の一つでHTMLでマークアップされたドキュメントはほかのドキュメントへのハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などの高度な表現力を持つ。
W3Cは、XMLベースの規格であるXHTMLの勧告も行っている。また2014年8月現在、HTML5も策定中である。
目次
特徴
HTMLの特徴はハイパーテキストを利用した、相互間文書参照のフレームワークである。マークアップはプレーンテキストの文書を要素で括って意味付けすることで行い、文書の特定要素にURIを用いた他文書へのリンクを記載しておけばユーザエージェントはそれを解釈して指定された他文書を表示させることが可能となる。またマークアップを施す際に引用や画像の埋め込み、文書のタイトルの指定などを定める要素を記載すればユーザエージェントがそれらを解釈し形態に見合った表示を行う。HTMLはそうしたマークアップの規則を定めている。
マークアップ規則はDTDとして公開され要素ごとに記載することの出来る属性、内容に含むことの出来る要素などが定められている。2007年4月現在の最新バージョンである HTML 4.01 では厳密なもの[1]、HTML 3.2 からの移行過渡期のためのもの[2]、フレームを用いた文書のためのもの[3]といった3つのDTDが定義されている。
文書の内容の一部分に「段落」や「章題」や「強調したい箇所」など、文章中での意味を付加する要素の多くは開始タグ、意味を付加したい部分、終了タグの形で構成される。開始タグ・終了タグはそれぞれ「<要素名>
」、「</要素名>
」のように表現される。また、META
要素や IMG
要素や BR
要素のように一つのタグだけからなる要素もある。これらは単体で文書そのものについてのメタ情報を宣言したり、画像や改行など文字では表現できない文書要素を記述するためのものである。
要素には必要に応じて、要素に付加する特性を現す属性を記述する。基本的に、属性と属性名はセットに指定する。要素名と属性名については大文字と小文字を区別しない。属性値については、属性によって大文字と小文字を区別するかどうかが個別に定められる。文脈上一意に特定できる場合は開始タグや終了タグを省略できる。また内容を持たず開始タグのみで構成される空要素も存在する[4]。さらに一部の属性についても属性名の省略が可能となっている[5]。
HTML 3.2 では見た目を左右する要素や属性が追加されたがHTMLは本来文書構造を示すためだけにその存在意義があり、それらの要素は目的に反するものとされた。そのため視覚的・感覚的効果を定義する手段としてスタイルシート(一般にはその中のCSS)が考案された。見た目を左右する要素や属性の一部は HTML 4 以降では非推奨とされており、HTML 4.01 Strict では定義されていないので使用できない。ただし HTML 4.01 Strict で定義され、非推奨とされない要素や属性の一部にも見た目を左右するものがある。装飾的な視覚表現のためにそれらの要素や属性を用いているのであればその内容に適する要素を用いた上で、スタイルシートで表現を指定するのが望ましい。
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 lang="en">HyperText Markup Language - Wikipedia</TITLE>
</HEAD>
<BODY>
<DIV>
<H1 lang="en">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<tt> の言語が使われていることの明示)HEAD
要素(この文書のヘッダ情報の明示)META
要素(文書のメタ情報。この場合、HTTPヘッダの代用)LINK
要素(他のリソースとの関連を明示。この場合、作者の明示)TITLE
要素(この文書のタイトルの明示、この部分は <tt>en
BODY
要素(この文書の内容の明示)
DIV
要素(ブロックを明示)H1
要素(第一レベルの見出しを明示、この部分は en の言語が使われていることの明示)P
要素(段落の明示)A
要素(他のリソースへのアンカーであることの明示)STRONG
要素(強い強調であることの明示)
タグによって文字列を括ることによりその文字列の意味付けがなされる。ユーザエージェントはそれを解釈して、例えば GUI によるウェブブラウザであれば STRONG
要素で括られたテキストを太字として表示するなどする。また、スタイルシートを用いることで見た目などを指定することができるようになっている。
尚、テキストエディターで改行をしても、ウェブブラウザ上では BR
要素がなければ改行はされない。
HTMLタグ
タグとは本来、文字「<
」で始まり、文字「>
」で終わる要素を記述するための符号を示す意味で用いられる言葉であるが、HTMLの要素を示す意味でタグと言う言葉が用いられることがある。W3C勧告の HTML4.01 仕様書には、要素はタグではない[6]としてこの用法を明確に否定する文言が見られる[7]。
歴史
1989年、CERNのティム・バーナーズ=リーは、オリジナルのHTML(および多くの関連したプロトコル、HTTPなど)のメモを提案し、1990年5月にコード化した[8]。NEXTSTEPの動作するNeXTcubeワークステーション上で開発された。当時のHTMLは仕様ではなく、直面していた問題を解決するためのツール群であった。直面していた問題とは、バーナーズ=リーやその同僚たちがどのように情報や進行中の研究を共有するかということである。彼の成果は後に国際的かつ公開のネットワークの出現として結実し、世界的な注目を集めることになった。
HTML の初期のバージョンはゆるい文法規則によって定義されており、ウェブ技術になじみのない層に受け入れられる助けとなった。ウェブブラウザはウェブページの意図を推測し、レンダリングを実行するのが一般的であった。やがて公式規格においては厳格な言語構文をつくることを志向するようになっていったが、お節介な解釈をするブラウザは今でも存在する。
HTML が公式な仕様として定義されたのは1990年代からである。それは従来のマークアップ言語であるSGMLに、インターネットのためのハイパーテキストの機能を取り入れるというバーナーズ=リーの提案に大きく影響を受けたものだった。
1993年にはIETFからHTML仕様書バージョン 1.0が公開され、SGMLからの拡張として文法定義のDTDを持つようになった。また1994年にIETFのHTMLワーキンググループが発足した。しかし、2.0以降のIETFの元での開発は他の開発との競合から停滞した。1996年からはW3Cによって商用ソフトウェア・ベンダーからの支援も受け、HTMLの仕様が標準化されている[9]。また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日に仕様が改訂[10]された。この仕様にいくらかのマイナーな修正が加えられた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年に改正版[11]が発行された(ただし改正後も名称はISO/IEC 15445:2000のまま)。JIS X 4156も2005年に改正され、JIS X 4156:2005となっている。
HTML5
テンプレート:Main ブログや記事向けの「article」要素やマルチメディアのための「audio」および「video」要素などをはじめとした新要素・属性が追加・変更・削除される。2014年頃に正式に勧告される予定である[12]。詳細はHTML5におけるHTML4からの変更点などのウェブサイトを参照のこと。 スマートフォンサイトのマークアップではすでに使用されている。
HTML形式の電子メール
脚注
- ↑ テンプレート:Lang-en-short
- ↑ テンプレート:Lang-en-short
- ↑ テンプレート:Lang-en-short
- ↑
BR<code lang="html4strict"> 要素、<code lang="html4strict">IMG<code lang="html4strict"> 要素など</span> </li>
- ↑ <code lang="html4strict">TABLE</code> 要素の <code lang="html4strict">frame</code> 属性、<code lang="html4strict">INPUT</code> 要素の <code lang="html4strict">disabled</code> 属性など。属性値の省略ではない。
- ↑ テンプレート:Lang-en-short
- ↑ W3C "HTML 4.01 Specification" 3.2.1 Elements、1999年12月24日
- ↑ テンプレート:Cite web
- ↑ テンプレート:Cite book
- ↑ テンプレート:Lang-en-short
- ↑ テンプレート:Lang-en-short
- ↑ http://www.w3.org/html/wiki/FAQs#When_will_HTML5_be_done.3F
</ol>
関連項目
- 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文書を検証するソフトウェア。