RYU's HOME P@GE

福島中年探検隊

HTML の簡單な解說

2012 年 11 月現在で一般に「 HTML 」(ハイパー・テキスト・マークアップ・ランゲージ)と呼ばれてゐる物は次の通りです。 尚、このページの用語ですが、「マークアップ」を「マーク附け」と表します。

SGML 應用言語
SGML アプリケーション
HTML 3.2
HTML 4.01
ISO HTML
XML アプリケーション
XHTML 1.0 (過渡的仕樣で HTML 4.01 と實質的に同じ)
XHTML 1.1
SGML サブセットと言ふ場合
HTML 全般
XHTML 全般
XML 全般( XML 1.0, XML 1.1
非 SGML 應用言語
HTML5 (策定中) 追記: 2014 年 10 月勸吿

HTML 4.01 や XHTML 1.0 などの元になってゐる SGML は、マーク附け言語を定義する爲の言語(メタ言語)です。 その性質は XML が繼承してゐます。 SGML 文書の基本構造は次の通りで、SGML 應用言語では原則としてこの構造を蹈襲します。 比較の爲に HTML 文書の基本構造も擧げて措きます。

SGML 文書
  1. SGML 宣言
  2. DTD
  3. 文書インスタンス
HTML 文書
  1. 文書型宣言( SGML 宣言、DTD に該當)
  2. 文書インスタンス

文書インスタンスとは、HTML 文書では先頭に書かれる文書型宣言以外の全部を指します。 尚、非 SGML 應用言語である HTML5 では、從來の SGML 宣言、DTD に該當するものは廢止されました。 從つて原則として文書型宣言はありません。 後方互換などを考慮して過渡的に文書型宣言を附ける事はあります。 名稱は HTML5 ですが、HTML 4.01 や XHTML 1.0 などとは原理的に異なる仕樣です。

マーク附け言語の經緯としては、SGML から HTML と XML に分化し、メタ言語の性質を引き繼いだ XML のアプリケーションとして XHTML が派生しました。 一方、メタ言語は取り扱ひが可なり難しい爲に、これを大幅に簡略化して誰にでも扱へるやうにしたのが HTML です。 ここでは HTML 4.01 に就いて簡單な說明をします。

HTML 4.01 の基本

文章が書ける人なら「誰にでも扱へる」といふのが仕樣設計のコンセプトだと思はれます。 依って電子文書作成の爲の勞力その他の人的コストは、可能な限り抑へられた物になります。 必然的に、ごく低レベルな機械處理を除き、一般的な情報處理をするには向いてゐません。 その場合は XML/XHTML その他を利用するのが望ましい。 この事から文章の意味や構造を計算機に讀ませる物ではなく、レンダリングなどのプレゼンテーションで人間に讀ませる物であると言ふことが出來ます。

HTML 文書は人間に讀ませる物であるとすると、作成のポイントは文章を正しく書く事になります。 そんなに難しく考へる必要はなく、例へば會社の報吿書などを思ひ出して下さい。 ここは見出し、ここは段落、ここはリストと云ふやうに意識しながら書いてゐると思ひます。 たいていの人なら晉通にやってゐる。 正しい(整ったといふ意)文章を書く事が重要です。 會社の報吿書ならタイトルも附けます。 これで文書としては出來上がり。

HTML 文書にするには、最う一手間かける必要があります。 ここは見出し、ここは段落、ここはリストと云ふやうに意識して書いた文章に、それ用の印(タグ)を附けます。 人間が讀んできちんと意味が解る文章ならば、印附け(マーク附け)は厳格である必要はありません。 プレゼンテーションの爲の形式的な印附けなので、大雜把で良いです。

HTML 4.01 で制作する意義

傳へたい情報の本質は文章そのものであるとすると、印附け(マーク附け)は「おまけ」と云ふ事になります。 また、マーク附けは文章を書く人にとっては餘計な手間でもあります。 これは業者か誰かに頼んでやって貰ふ事も出來ますが、自分でやる意義としては大きく次の二點が擧げられます。

HTML 4.01 の注意點

文書型宣言が無いと形式上は「不明な文書」になります。 以前は HTML 2.0 として扱ふとされてゐたやうですが、いづれにしても何らかの文書型宣言を附けて措くべきです。 整った文章が書かれた文書に簡單にマーク附けしただけなら、ほぼ HTML 4.01 の DTD に適合する筈です。

SGML 應用言語である限り、文書型宣言で DTD を示すか、さうでない場合は獨自に DTD を用意するかの、いづれかしか認められません。 DTD が無いと、<p> などのタグは單なるごみ――意味不明の記號にしかならないからです。 これならプレーンテキストの方が遙かに良い。

DTD の例
<!ELEMENT P - O (%inline;)*     -- paragraph -->
<!ATTLIST P
  %attrs;           -- %coreattrs,%i18n,%events -->

この定義に拠り <p> といふタグは「段落」になります。 當然の事ですが、DTD は P といふ要素型を定義するだけで、その要素(文章)の内容までは定義してゐない。 それは電子文書制作者が判斷してマーク附けします。 また、HTML では電子文書制作者が DTD 等で自由にタグを定義する事は出来ません。 ただし ISO-HTML では例外的に可能であるやうです。 いづれにしても、その場合は XML などのメタ言語を使ふ事になります。

定義する自由を抛棄して得たもの

マーク附け例
<p>今日は良い天氣だ。</p>

最初に混亂を避ける爲に細かい話をして措きます。 P といふ要素型を <> といふ特殊文字で囲んだもの <p> をタグと呼びます。 「今日は良い天気だ。」といふ文章を要素と呼びます。 依って P 要素といふ場合、正確には「今日は良い天氣だ。」といふ文章そのものを指してゐて、前後のタグは含みません。

擧げた例は、文書の中で當該要素(文章)が段落である事を示してゐるのですが、文章は人間が讀めば解るけれども計算機には全く解りません。 依って <p> といふタグ(要素型)を附けます。 尤も、段落である事を計算機に傳へたところで、實際には大した事は出来ません。 先述したやうにレンダリング、例へば、前後に空行を附けて表示するぐらゐです。 しかし、可能な限り正しくマーク附けして措くのが望ましい。(要出典)

P は段落?
DTD を見れば解るやうに、要素型 P は内容が段落であるとは定義してゐません。 そもそも内容が段落であると計算機に傳へても計算機は理解しない。 依って、 DTD では単にタグの取り扱ひを定義してゐるだけなのです。

正しくマーク附けするとは何かと言ふと、正しく文章を讀むと云ふ事に他ならない。 結局は人間が讀んで判斷する事です。 さうなると、マーク附けはあってもなくても良い。 事實、マーク附けの仕樣( HTML 仕樣など)は十年、二十年でどんどん變はるので、これ自體に價値がある訣ではありません。 飽くまでも要素である文章そのものに價値があります。

要素(文章)を計算機に形式的に傳へる爲の要素型を定義してゐるのが DTD です。 HTML パーザ(ブラウザなど)は DTD を參照して P を解釋してゐます。 しかし、實際のブラウザは DTD を參照してゐない事が多く、單に <p> といふ特定の文字列を檢知して、その前後に空行を附けてレンダリングするだけのやうです。 これは HTML が一般的な情報處理には向いてゐない爲にブラウザベンダが手拔き實裝してゐると考へられるのですが、一方で HTML は「その程度の物」と言ふ事が出來ます。

SGML はメタ言語ですから、電子文書制作者に「定義する自由」が與へられてゐた。 これを抛棄して、その代りに簡便さ、利便さを手に入れたのが HTML です。 よって、情報處理をしたいのであれば XML を使ひませう。 簡便、利便である物は、その反面に於いて自由が無い。

文書とは文章である

1980 年代に SGML が注目されるやうになりましたが、それ以前の GML から數へてもマーク附け言語はせいぜい五十年ぐらゐの「歷史」しかありません。 W3C で策定作業をするやうになったのは 1990 年代以降です。 これらが千年以上の歷史がある日本語の文章に優越する事は絶對にありません。 絶對に、です。

HTML のマーク附けは計算機の爲に已むを得ず施すもので、人間にとってはあってもなくてもどちらでも良い。 將來、人間が書く自然言語の文章をソースコードとして解析するパーザが登場すれば、人間がマーク附けする必要はなくなります。 それまでの「過渡的な處置」と言へませう。

關聯ページ
ご意見ご感想など

2012/11/18 (©2012 MIYAKE_ryutaro)