制作者(webmaster)
野嵜健秀(Takehide Nozaki)
改訂
2006-06-12

HTMLとは?

最初は讀流して下さい。

基礎概念

ウェブサイトとは

ウェブサイトとは、何かの目的で作られた、一聯のリソース(HTML文書や畫像、その他)によつて成立してゐる、ウェブ上の存在を指します。全體として統一的な思想が表現された、主に一個人や一團體による創作物です。

HTML文書とは

定義

タグ(tag)によつて要素(element)の明示(マーク附け、マークアップ)のなされた或テキストファイルが、結果的にHTMLの仕樣に適合してゐる場合、そのテキストファイルは正しい(Valid)HTML文書であると言はれます。

或は、一般的な文書では明示されてゐない部分部分の意味を、ウェブ制作者がHTMLの仕樣書(DTD)に定められた記號の記述方法に從つて明示したものがHTML文書です。

HTMLの仕樣書は2002年4月現在、W3Cが策定してゐます。W3Cはインターネットの技術に關係してゐるヴェンダ等が參加してゐる團體です。

HTMLとは

定義

HTMLは、HyperText Markup Languageを略した語です。

大雜把に言ふと、人間が喋つたり書いたりする普通の言語に近い側面(body要素の部分)と、所謂プログラミング言語のやうにコンピュータへの命令を記述する爲の(メタファとしての)「言語」としての側面(head要素の部分)とを同時に持つ、特殊な「言語」です。

マーク附け(マークアップ)とは

定義

マーク附け(マークアップ)とは、或約束に基いて、一般の文書をHTML文書に仕立てる過程で行ふ作業の事を言ひます。

自然言語で書かれた文書を、要素ごとに分割していく作業、或は、文章の中に潜在的に存在する要素をタグによつて明示する作業の事を、マーク附け(マークアップ)と言ひます。

要素とは

一般的な要素の定義

要素とは、制作者が意圖を持つて他の部分から區別してゐる文書の一部分の事です。或は、文書の一部分に制作者や閲覽者、或はUser Agent等のプログラムが意味を認め(得)る時、その一部分を「要素」と呼びます。

ブロック要素とインライン要素の區別

「ブロック要素」「インライン要素」と云ふ呼び方自體、特定の媒體に於る見榮えからの聯想に基いてゐる爲、必ずしも適切なものとは言へません。

要素の入れ子構造

マーク附けに於て、要素は常に入れ子構造となつてゐます。

或要素は必ず他の要素に全體が含まれます(最上位のhtml要素を除く)。或要素と他の或要素の一部がオーヴァラップする事はあり(得)ません。

要素の入れ子構造の例
<blockquote title="ソシュール講義録注解">
<p>言語は、個人にことばの能力を發揮させる爲に、社會が採用した必要な取決めの總體である。</p>
</blockquote>

この例では、p要素がblockquote要素(<blockquote></blockquote>)に含まれてゐます。(要素の明示方法・マーク附けの方法は後で詳述)

要素の明示

要素の明示(マークアップ、マーク附け)には、タグを使ひます。

タグとは、暗示的に存在する文章の要素を明示する爲に用ゐられる特殊な記述の事です。

通常のテキスト(地の文)とタグとは區別されなければなりません。その爲、タグを記述する特殊な記法が用意されてゐます。

<と>で括られるのは要素の名稱(要素型)です。俗に「タグ名」と言はれますが、要素の名稱をタグで明示する、と云ふ事から考へると、「タグ名」と云ふ言ひ方は不適切です。

要素を明示した例
<title>櫻花さん番外地</title>

この例では、櫻花さん番外地と云ふ文字列がtitle要素の中身、<title>がtitle要素の開始タグ、</title>がtitle要素の終了タグです。

(所謂)「全角」の文字と「半角」の文字とは區別されます。タグの記述は常に「半角」の文字(ASCII文字)でなされねばなりません。HTMLの仕樣書では、HTML文書で記述されてゐて良い文字の種類がきつちり定義されてゐます。この文書ではかなり大雜把な説明しかしてゐませんので、詳しい事は仕樣書を見て下さい。

屬性

要素に特殊な意味がある場合、それを表現する爲には、「屬性」を開始タグに記述します。

屬性の記述例
<blockquote cite="http://www.w3.org/">

</blockquote>

この例では、blockquote要素(引用文である事を示す要素)に、cite屬性(引用元を示す屬性)のある事を記述してゐます。

屬性の記述にはやはり規則があります。

「屬性の最小化」が可能な場合もあります。(HTML)

屬性値が一つしか規定されてゐない屬性(HRのNOSHADEなど)に關しては、屬性名の記述を省略できます(4.0までのHTMLに限つて言へば、このやうな場合は屬性名と屬性値が同一にされてをり、見た目には屬性名を省略したのか屬性値を省略したのか區別できません)。

よつて、以下の二つは同じ事を意味します。

  1. <hr noshade="noshade">
  2. <hr noshade>

XHTMLでは、いかなる場合にも屬性の最小化は許されてゐません。XHTMLでは、1番目の書き方しかしてはなりません。HTMLでは、2番目の書き方で大丈夫です。

屬性名は常にASCII文字(所謂「半角」の文字)で記述されねばなりません。屬性値は、キーワードが指定されてゐる場合、「半角」でなければなりません。キーワード以外の、フォント名やテキスト等を記述する際には、「全角」の文字が出現する事はあります。

HTML 4.01以前のHTMLの「空要素」

HTML 4.01以前のHTMLでは、中身のない要素(空要素)を明示する專用の要素型が定義されてゐます。

中身のない要素は開始タグのみ記述し、終了タグは記述しません。飽くまでSGMLベースのHTMLの場合です。

空要素の例
<img src="hinomaru.png" alt="日本の國旗・日の丸">

XHTML 1.0以降では、中身のない要素(空要素)をマーク附けする場合も終了タグを記述しなければならない、と云ふ決りになつてゐます。マーク附けの規則が單純化された、と云ふ事です。

XHTMLにおける空要素の例(省略ナシの形)
<img src="hinomaru.png" alt="日本の國旗・日の丸"></img>

タグの省略機構に基き、以下のやうにも記述されます。

XHTMLにおける空要素の例(省略した形)
<img src="hinomaru.png" alt="日本の國旗・日の丸" />

舊來のプログラム(ブラウザ・User Agent・その他)が混亂しないやう、後者の省略した記法が、現時點(2002年春現在)では推奬されてゐます。

實體參照

實體參照(entity)とは、間接的に或種の概念を指示する行爲です。

HTML文書のオーサリングにおける實體參照とは、「マーク附けの規則によつて地の文で使用出來なくなる記號や、文字コードや文字セットの制約で直接文書に記述出來ない文字などを、閲覽者やブラウザ・User Agentに指示する記法」の事です。

實體參照はHTML文書に於て、文書を記述する際の制約であり、同時に擴張です。

「プログラムに解釋される特殊な文字を、プログラムに解釋されるのを囘避する爲、別の字に置換へる」と云ふ發想から、コンピュータの世界には「エスケープ」と呼ぶ概念が存在します。「實體參照」と「エスケープ」の指示する概念は良く似たものです。ただ、見方が異るから呼び方が異ります。

HTMLの仕樣書であるDTDを記述する際にも「實體參照」が使はれます。今説明した、「オーサリングにおける實體參照」と同じentityと呼ばれるものですが、ここでは説明しません。

空白文字

HTMLの仕樣では、(所謂)半角スペース、タブ、改行文字等が一概に空白文字として扱はれます。

タグの直前・直後の空白文字は、テキストの一部とは看做されず、無視されるのが、HTMLの仕樣です。

連續する空白文字はブラウザに、一つの空白文字として扱はれます。ただし、pre要素の中では話が別です。

なほ、(所謂)全角スペースは空白文字と見做されません。

空白文字に關しては、もつと詳しい規定がありますが、ここでは説明しません

目次