「HyperText Markup Language」の版間の差分

提供: miniwiki
移動先:案内検索
ja>Extrahitz
(HTMLタグ: HTMLの記事なので他言語への言及を除いて分かりやすくする)
 
(歴史)
 
(同じ利用者による、間の1版が非表示)
91行目: 91行目:
 
===HTMLタグ===
 
===HTMLタグ===
 
[[World Wide Web Consortium|W3C]]勧告の HTML4.01 仕様書で、要素はタグではない<ref>{{lang-en-short|Elements are not tags.}}</ref>としている<ref>[http://www.w3.org/TR/1999/REC-html401-19991224/intro/sgmltut.html#h-3.2.1 {{lang|en|W3C "HTML 4.01 Specification" 3.2.1 Elements}}]、1999年12月24日</ref>。「タグ」とは、文字「<code lang="html5">&lt;</code>」で始まり、文字「<code lang="html5">&gt;</code>」で終わっている部分(マークアップ)のみを指し、「要素」(エレメント)は開始タグ~終了タグに囲まれた全体を指す概念である。 <code lang="html5">&lt;br/&gt;</code> のように、開始タグと終了タグを兼ねる一つのタグのみで一つの要素を構成する場合もあるが、あくまでタグと要素の概念は別物である。
 
[[World Wide Web Consortium|W3C]]勧告の HTML4.01 仕様書で、要素はタグではない<ref>{{lang-en-short|Elements are not tags.}}</ref>としている<ref>[http://www.w3.org/TR/1999/REC-html401-19991224/intro/sgmltut.html#h-3.2.1 {{lang|en|W3C "HTML 4.01 Specification" 3.2.1 Elements}}]、1999年12月24日</ref>。「タグ」とは、文字「<code lang="html5">&lt;</code>」で始まり、文字「<code lang="html5">&gt;</code>」で終わっている部分(マークアップ)のみを指し、「要素」(エレメント)は開始タグ~終了タグに囲まれた全体を指す概念である。 <code lang="html5">&lt;br/&gt;</code> のように、開始タグと終了タグを兼ねる一つのタグのみで一つの要素を構成する場合もあるが、あくまでタグと要素の概念は別物である。
 
==歴史==
 
[[1989年]]、[[CERN]]の[[ティム・バーナーズ=リー]]は、オリジナルのHTML(および多くの関連したプロトコル、[[Hypertext Transfer Protocol|HTTP]]など)のメモを提案し、[[1990年]]5月にコード化した<ref>{{Cite web|author=Tim Berners-Lee|url=http://www.w3.org/History/1989/proposal.html|title=Information Management: A Proposal|work=CERN (March 1989, May 1990)|accessdate=2012-11-28}}</ref>。[[NEXTSTEP]]の動作する[[NeXTcube]]ワークステーション上で開発された。当時のHTMLは仕様ではなく、直面していた問題を解決するためのツール群であった。直面していた問題とは、ティム・バーナーズ=リーやその同僚たちがどのように情報や進行中の研究を共有するかということである。彼の成果は後に国際的かつ公開のネットワークの出現として結実し、世界的な注目を集めることになった。
 
 
HTML の初期のバージョンはゆるい文法規則によって定義されており、ウェブ技術になじみのない層に受け入れられる助けとなった。[[ウェブブラウザ]]はウェブページの意図を推測し、レンダリングを実行するのが一般的であった。やがて公式規格においては厳格な言語構文をつくることを志向するようになっていったが、お節介な解釈をするブラウザは今でも存在する。
 
 
HTML が公式な仕様として定義されたのは[[1990年代]]からである。それは従来のマークアップ言語である[[Standard Generalized Markup Language|SGML]]に、[[インターネット]]のための[[ハイパーテキスト]]の機能を取り入れるというティム・バーナーズ=リーの提案に大きく影響を受けたものだった。
 
 
[[1993年]]には[[Internet Engineering Task Force|IETF]]からHTML仕様書バージョン 1.0が公開され、SGMLからの拡張として文法定義の[[Document Type Definition|DTD]]を持つようになった。また[[1994年]]にIETFのHTMLワーキンググループが発足した。しかし、2.0以降のIETFの元での開発は他の開発との競合から停滞した。[[1996年]]からは[[World Wide Web Consortium|W3C]]によって商用ソフトウェア・ベンダーからの支援も受け、HTMLの仕様が標準化されている<ref>{{Cite book
 
|last=Raggett
 
|first=Dave
 
|title=Raggett on HTML 4
 
|publisher=Addison-Wesley
 
|date=1998
 
|url=http://www.w3.org/People/Raggett/book4/ch02.html
 
|pages=chap. 2: A history of HTML
 
|id=ISBN 0-201-17805-2}}</ref>。また[[2000年]]からは国際標準ともなった([[国際標準化機構|ISO]]/[[国際電気標準会議|IEC]] 15445:2000)。W3Cから勧告された最新のHTML仕様は HTML5 である。
 
 
===HTML 1.0、HTML+===
 
[[1993年]]6月に、IETFのIIIR Workingグループより提出された[http://www.w3.org/MarkUp/draft-ietf-iiir-html-01.txt HTML仕様書]がインターネット・ドラフトとして発表された。本来はバージョン番号が付いていないが通常HTML 1.0と呼ぶ。このドラフトはティム・バーナーズ=リーおよびダニエル・コノリーによって、ティム・バーナーズ=リーの出した [http://www.w3.org/MarkUp/HTMLConstraints.html HTML Design Constraints] に極力従うように書かれた。
 
 
1993年11月に、HTML の上位互換な HTML+ が発表された。テーブルなどが追加になっている。[http://www.w3.org/MarkUp/HTMLPlus/htmlplus_1.html HTML+仕様書]。
 
 
===HTML 2.0===
 
[[1995年]]11月に、IETFのHTMLワーキンググループによって RFC 1866 ([http://web.archive.org/web/20010815115248/http://www.asahi-net.or.jp/~bd9y-ktu/W3C20/html-spec_toc.html 日本語訳])<!-- オリジナルが削除されたのでアーカイブにリンク -->として仕様が発表された。下記の補助的な RFC もリリースされた。HTML 2.0 は RFC 2854 によって廃止され HTML は IETF ではなく W3C が管理することとなった。
 
* 1995年11月:フォームベースのファイルアップロード。RFC 1867
 
* 1996年5月:テーブル。RFC 1942
 
* 1996年8月:クライアントサイドイメージマップ。RFC 1980
 
* 1997年1月:HTMLの国際化。RFC 2070([http://www.asahi-net.or.jp/~bd9y-ktu/htmlrel_f/HTML2x.html 非公式な日本語訳])。「HTML i18n」とも呼ばれる。日本語を扱えるHTMLのバージョンとしては、最も古い。
 
 
===HTML 3.0、HTML 3.2===
 
HTML 3.0は策定作業が行われたが、ドラフトの段階で策定途中に破棄された。[http://www.w3.org/pub/WWW/MarkUp/html3/ HTML 3.0仕様書]。
 
 
[[1997年]][[1月14日]]に、HTML 3.2 がW3C勧告として仕様が発表された。[http://www.w3.org/TR/REC-html32.html HTML 3.2 Reference Specification]([http://www.doraneko.org/webauth/html32/html32.html 非公式な日本語訳])。
 
 
===HTML 4.0、HTML 4.01===
 
1997年[[12月18日]]に、W3C勧告としてHTML 4.0の仕様が発表された。HTML 4.0は[[1998年]][[4月24日]]に仕様が改訂<ref>{{lang-en-short|revised}}</ref>された。この仕様にいくらかのマイナーな修正が加えられたHTML 4.01は[[1999年]][[12月24日]]にW3C勧告となった。{{lang|en|Strict DTD}} の他にHTML 3.2からの移行過渡期のための {{lang|en|Transitional DTD}} とフレームを使うことのできる {{lang|en|Frameset DTD}} の3つのスキーマを持つ。
 
 
この後、HTML 4.01をベースとして[[Extensible HyperText Markup Language|XHTML]] 1.0が策定されることになる。
 
 
[[2018年]][[3月28日]]に代替された勧告に指定され、最新の勧告を参照することを推奨されている。
 
 
*[http://www.w3.org/TR/REC-html40-971218/ {{lang|en|HTML 4.0 Specification}}]
 
*[http://www.w3.org/TR/1998/REC-html40-19980424/ {{lang|en|HTML 4.0 Specification (revised)}}]
 
**[http://www.y-adagio.com/public/standards/tr_html4_rev/toc.html 日本規格協会による和訳を原案とする経済産業省の標準情報 TR X 0033:2002]
 
*[http://www.w3.org/TR/html401/ {{lang|en|HTML 4.01 Specification}}]
 
**[http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/cover.html 内田明らによる和訳]
 
 
===ISO/IEC 15445:2000===
 
[[ISO/IEC JTC 1]]による規格。HTML 4.01を参考にし、より厳密に規格化された。これは[[2000年]]に翻訳され JIS X 4156:2000 という[[日本工業規格|JIS規格]]になった。
 
<!-- リンク先が古い規格だったので除去 -->
 
 
ISO/IEC 15445:2000は[[2003年]]に訂正版<ref>{{lang-en-short|corrected version}}</ref>が発行された(ただし訂正なので、その後も名称はISO/IEC 15445:2000のまま)。JIS X 4156は[[2005年]]に改正され、JIS X 4156:2005となっている。
 
 
===HTML5、HTML 5.1、HTML 5.2===
 
{{Main|HTML5}}
 
その後、HTMLの改良にW3Cを興味を示さなかったことから、2004年に[[WHATWG]]が開発を開始した<ref>{{Cite web|url=https://momdo.github.io/html/introduction.html#history-2|title=HTML Standard 日本語訳 1.6 歴史|accessdate=2017-07-15|author=WHATWG|authorlink=|coauthors=Mondo|date=2017-07-14}}</ref>。2007年には、W3Cもワーキンググループを設立し<ref>{{Cite web|url=https://www.w3.org/2007/03/html-pressrelease|title=HTML 標準の更新に着手|accessdate=2017-07-15|author=W3C|authorlink=World Wide Web Consortium|date=2007-03-08|}}</ref>、WHATWGと共同での開発が始まった。しかし、2012年7月、両者は別個に作業する体制となった<ref name="whatwg-w3c-fork"/>。
 
 
[[2014年]][[10月28日]]に HTML5 が W3C より勧告された<ref>[http://www.w3.org/2014/10/html5-rec.html.ja HTML5勧告–オープン・ウェブ・プラットフォームの重要なマイルストーンを達成]</ref>。ブログや記事向けの「article」要素やマルチメディアのための「audio」および「video」要素などをはじめとした新要素・属性が追加され、以前は見た目を規定していた要素の殆どは変更または削除された。[[2016年]][[11月1日]]に HTML 5.1 が勧告され<ref>[https://www.w3.org/blog/news/archives/5932 HTML 5.1 is a W3C Recommendation | W3C News]</ref>、[[2017年]][[12月14日]]に HTML 5.2 が勧告された<ref>[https://www.w3.org/blog/2017/12/html-5-2-is-done-html-5-3-is-coming/ HTML 5.2 is done, HTML 5.3 is coming | W3C Blog]</ref>。
 
*[https://github.com/momdo/momdo.github.io/wiki/html5 HTML5関連仕様のメモ]
 
*[http://html5.jp/ HTML5.JP]
 
 
=== HTML Living Standard ===
 
HTML Living Standard<ref>[https://whatwg.org/html HTML Living Standard]</ref> は [[Web Hypertext Application Technology Working Group|WHATWG]] が更新し続けている HTML の最新仕様。これを元にして W3C の勧告が作られている。
 
  
 
==HTML形式の電子メール==
 
==HTML形式の電子メール==

2018/12/28/ (金) 12:39時点における最新版

HTML
拡張子 .html, .htm
MIMEタイプ text/html
タイプコード TEXT
HTML
UTI public.html
開発者 W3C
WHATWG
種別 マークアップ言語
派生元 SGML
拡張 XHTML
国際標準 ISO/IEC 15445:2000

HyperText Markup Language(ハイパーテキスト マークアップ ランゲージ、HTML(エイチティーエムエル))は、ハイパーテキストを記述するためのマークアップ言語の1つである。World Wide Web (WWW)において、ウェブページ(1990年代後半頃からはコンテンツという語も利用されている。「中身」という意味の語であり、大層な意味は無い)を表現するために用いられる。ハイパーリンクや画像等のマルチメディアを埋め込むハイパーテキストとしての機能、見出し段落といったドキュメントの抽象構造、フォントや文字色の指定などの見た目の指定、などといった機能がある。

2012年7月以降[1]WHATWG により仕様が作られ、それを元に W3C により勧告が行われるという流れになっている。W3C は、XML ベースの規格である XHTML の勧告も行っている。

特徴

HTMLは木構造(入子構造)のマークアップ言語であり、形式言語である。「プレーンテキストの文書を要素で括って意味付け」という一般的な説明[2]は間違いである。「『タグ』と『タグ』で括られたもの全体」が「要素」(element)であり、タグすなわち要素ではない。マークアップ言語としての特徴は、先祖であるSGMLや、兄弟のXMLと共通しているため、以下ではWWWというシステムにおける「ハイパーテキスト記述言語」としての側面についてのみ記述する。

HTMLの要素には、文書を表現するものとしてごく一般的なものである見出し(ヘッドライン、h1〜 )、段落(パラグラフ、p )、ハイパーテキストとして特徴的な「アンカー」( a )に関係するもの、画像など( img など)の電子メディア的なもの、などがある。また文字色の指定などといった、意味ではなく直接見た目のみを指定するようなものは、近年ではスタイルシートなどに分離するべきとされているが、歴史的事情、及び、スタイルシートよりもこの、HTMLでの記述が簡便になる場合が度々あること[3]から現在でもしばしば使われている。その他主要な要素は、HTMLの要素の記事で解説している。

形式言語として見た場合「構文規則」(あるいは文法)に相当する「スキーマ」は、HTML4まではDTDとして公開され要素ごとに記載することの出来る属性、内容に含むことの出来る要素などが定められていた。HTML 4.01 では厳密なもの[4]、HTML 3.2 からの移行過渡期のためのもの[5]、フレームを用いた文書のためのもの[6]といった3つのDTDが定義されていた。

HTML 3.2 では見た目を左右する要素や属性が追加されたがHTMLは本来文書構造を示すためだけにその存在意義があり、それらの要素は目的に反するものとされた。そのため視覚的・感覚的効果を定義する手段としてスタイルシート(一般にはその中のCSS)が考案された。見た目を左右する要素や属性の一部は HTML4 以降では非推奨とされており、HTML 4.01 Strict では定義されていないので使用できない。ただし HTML 4.01 Strict で定義され、非推奨とされない要素や属性の一部にも見た目を左右するものがある。装飾的な視覚表現のためにそれらの要素や属性を用いているのであればその内容に適する要素を用いた上で、スタイルシートで表現を指定するのが望ましい。

HTML文書

HTML で書かれた文書をHTML文書と言い、HTML では、まず文書型宣言を書く。文書型宣言が無いものは、HTML の規格に従っているとはいえない。HTML5 の文書型宣言は以下のようなものである。HTML4 までは Document Type Definition (DTD) によって定義される書式に沿って記述しなければならなく、DTD は文書型宣言(DOCTYPE 宣言)で宣言したバージョンのものが選択された。

<!DOCTYPE html>

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

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

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

  • <!DOCTYPE html>:文書型宣言
    このテキストがHTML5であることを示す。
  • <html lang="ja">:html 要素。また、lang="ja"で、言語コード ja の言語が使われていることの明示。
    • <head>:head 要素(この文書のヘッダ情報の明示)
      • <meta :meta要素(文書のメタ情報)。ここでは、charset="UTF-8"で、文字コードが、「UTF-8」であることを示す。
      • link 要素(他のリソースとの関連を明示。この場合、作者の明示)
      • <title lang="en">:title 要素(この文書のタイトル)の明示。また、この部分は en の言語が使われていることの明示。
    • <body>:body要素(この文書の内容の明示)
      • <article>:article 要素(この要素が、記事であることを明示)
        • <h1 lang="en">:h1要素(第一レベル)の見出しを明示。また、lang="en">で、この部分の見出しは en の言語が使われていることを明示。
        • <p>:p(段落)要素の明示。
          • <a href="http://ja.wikipedia.org/wiki/SGML/">SGML</a>:a(アンカー)要素(他のリソースへのアンカー)であることの明示。hrefで、「""」内にリンク先のURLを記述する。ちなみに、このURLの場合は、WIKIPEDIA 日本語版のSGMLの記事。
          • <strong>:strong 要素(強い強調であることの明示)

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

HTMLタグ

W3C勧告の HTML4.01 仕様書で、要素はタグではない[7]としている[8]。「タグ」とは、文字「<」で始まり、文字「>」で終わっている部分(マークアップ)のみを指し、「要素」(エレメント)は開始タグ~終了タグに囲まれた全体を指す概念である。 <br/> のように、開始タグと終了タグを兼ねる一つのタグのみで一つの要素を構成する場合もあるが、あくまでタグと要素の概念は別物である。

HTML形式の電子メール

脚注

  1. HTML5仕様をめぐるW3CとWHATWGについて、Ian Hickson氏がメーリングリストに書いたこと”. Publickey (2012年7月24日). . 2017閲覧.
  2. ビレッジセンターHTML&SGML研究チーム 『正しいHTML4.0リファレンス&作法』 ビレッジセンター出版局、1998-03-20。ISBN 4-89436-111-6。
  3. 例えば、太字指定の「<b></b>
  4. : Strict
  5. : Transitional
  6. : Frameset
  7. : Elements are not tags.
  8. W3C "HTML 4.01 Specification" 3.2.1 Elements、1999年12月24日

関連項目

外部リンク


テンプレート:マークアップ言語一覧