初心者のためのホームページ作り:第41号

                   毎週金曜日配信 What's New 2003/2/28
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
       初心者のためのホームページ作り/Web for beginner
           http://www.scollabo.com/banban/
                <第41号>

             banban@scollabo.com

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

 当講座は、初心者や中級者が正しい文法と作法を身につけて、プロ級の本格的
な Webページ作成に役立つことを目的に配信されております。

 当講座ではHTML4.01及び XHTML1.1 を中心とした文法が主体となっています。
なお、このマガジンは等幅フォントでお読みいただくと快適に読めるようになり
ます。

 今週の課題 ■ HTML基本 その6 --- Webブラウザ
       ■ XHTML講座 第6回 --- 概念モジュール定義
       ■ HTML タグの解説 --- a(アンカー)

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◆HTML基本 その6 DTDとブラウザの対応
今日のインターネットの普及は WWWの発展とHTMLが大きく寄与しています。そし
て、同時にHTMLを閲覧するソフトである Webブラウザの進歩も忘れてはならない
要因でもあります。

 ほとんどのOS(基本ソフト)に標準でバンドルされている Webブラウザは、常
に最新のアップデートを繰り返し、大体が無償で配布されています。
 ブラウザのアップデートは、HTMLのバージョンアップが行われると、大きく仕
様を変えて更新されます。最新の Webブラウザは、ほとんどがHTML4.01に対応し
ています。
 (ただし、スタイルシートの実装を完全にサポートしているブラウザは、まだ
お目にかかったことがありません。)

 HTMLで Webページを作成する場合に気になるのが、ブラウザの表示の違いがあ
ります。同じメーカーのブラウザでも、OSが異なるとやはり、表示に違いを呈し
ます。当然、バージョン毎にも違いがはっきりと現れます。
 面白いことに、Windows版 MSIE6.0 でも Windows2000 と WindowsMe でも表示
に若干の違いを見せることさえあります。

 作成者にとって、複数のブラウザを持つことの意味は、そのような観点から今
さら声を上げるまでもないでしょう。許されるなら、異なったプラットフォーム
のパソコンがあればなおさらですが、現実的には経済的負担が大きすぎます。
(当然、プロの制作現場では、複数のプラットフォームを用意しています。)

 ■DTDによる表示の違い
 HTML4.01の文書型定義は3つの種類があり、厳格仕様、過渡的使用、フレーム
 仕様と分かれていますが、同じHTMLのコーディングでも DTDが異なると表示に
 もはっきりと違いが現れます。

  特にテーブルの表示では、違うブラウザなのか、と思うくらい異なって表示
 されます。例えば、body要素に文字の大きさを指定してもテーブルではStrict
 (厳格仕様)では、親要素であるbody要素からの文字の大きさなどが継承され
 ますが、Transitional(過渡期仕様)では継承されません。
  本来なら、親要素から受け継がれるのですが、この点はブラウザの仕様の違
 いなのでしょう。

■ HTMLサンプル(Transitional)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_Jis">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>初心者のためのホームページ作り</title>
<style type="text/css">
<!--
body { font-size: 140%; font-weight: bold; color: #009 }
-->
</style>
</head>

<body>
<p>サンプル</p>
<table border="1" cellspacing="0" cellpadding="5">
<tr><td>セル</td><td>セル</td><td>セル</td><td>セル</td></tr>
<tr><td>セル</td><td>セル</td><td>セル</td><td>セル</td></tr>
<tr><td>セル</td><td>セル</td><td>セル</td><td>セル</td></tr>
<tr><td>セル</td><td>セル</td><td>セル</td><td>セル</td></tr>
</table>

</body>
</html>

 ここでは、文字の大きさを140%に、文字を強調する設定していますが、テーブ
ル内のデータセルでは、それが継承されていません。
 しかし、文書型定義を厳格にすると継承されます。

 厳格使用の DTD  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">

  ところが、Macintosh版 MSIE5.0では、DTDを指定する URIがないとやはり継承
されません。そのためには、

 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
   "http://www.w3.org/TR/html4/strict.dtd">
 このように、DTD文書を示す URIを記述しなくてはなりません。

 ここで示した「現象」はほんの一部に過ぎません。様々なブラウザが持つ仕様
に合わせたHTMLを作ることは大変です。しかし、文書の構造がしっかりとできて
いるのなら、あまりブラウザの仕様にこだわる必要はありません。

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◆XHTML講座 第6回 XHTML1.1 モジュール

2001年5月に発表された XHTML1.1 は、文書の構成要素を小さな単位に分けて定
義し、これらを組み合わせることで多様なデバイスや環境に柔軟に合わせた独自
のタグセットを設計できるモジュール化という考え方が取り入れられています。
 このようなモジュールを組み合わせてつくられるいろいろなタイプの XHTMLを
W3Cは XHTMLファミリーと呼んでいます。

 例えば、携帯電話や小型通信機器 PDAなどにも対応する XHTML Basicは、小さ
なモジュールの組み合わせによって実現しています。    ̄ ̄ ̄ ̄ ̄ ̄

 モジュールの機能とは、要素および屬性がモジュール単位に分割された上で、
「文書の構造を明示する」という観点から最低限必要なもの、オプションとして
用意されていて利用して良いもの、オプションとして用意されているが使うべき
でないもの、として、それぞれのモジュールが分類されています。

 モジュールは、一般にファイル単位で存在し、その内容は DTDの書式で記述さ
れています。それと平行して、機械処理を前提としない人が読んで分かりやすい
定義として、概念モジュール定義 (Abstract Module Definition) が提供されて
います。
 なお、モジュールの定義は、XHTML 1.1 仕様書ではなく、「XHTMLMOD」で提供
されています。

 Tips:モジュールとは?
 小さな部品を集めてひとつの大きな部品単位にすることをモジュールと言いま
 す。モジュールそのものにはなにも機能はありませんが、それぞれのモジュー
 ルを集めると、機能を持った「製品」になります。
  最近の自動車生産の現場では、「モジュール部品の組み立て」が主流になっ
 ています。これによって、少量多品種生産を効率的に、低コストで実現してい
 ます。

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◆XHTMLMOD(Modularization of XHTML)

 W3Cは2001年4月10日、Modularization of XHTMLを勸告しました。要素や属性の
定義を、構造モジュール(html、head、title、body)、リストモジュール(dl、
dt、dd、ol、ul、li)、テーブルモジュール(caption、table、td、th、tr、
col、colgroup、tbody、thead、tfoot)など、いくつかのモジュールに分割し、
ブラウザが一部のモジュールのみをサポートすることを許可しました。

 この中には、レガシーモジュールとして、font や centerなどの要素も定義さ
れていますが、XHTML1.1 ではレガシーモジュールを IGNORE(無視)するように
宣言していますので、XHTML1.1でどの要素がサポートされているのかを調べるに
は、両方の文書を参照する必要があります。

 今回は、XHTML1.1で定義されている各モジュールの構成について解説します。
XHTML1.1を作成する上で、リファレンスとなりますので、保存版としてご利用し
ていただければ幸いです。

 XHTML1.1で利用される全要素(タグセット)を取り上げました。

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◆XHTML 1.1 概念モジュール定義
 (出展引用先 http://www.w3.org/TR/xhtml-modularization/)

各モジュールは大別して次のように分けられています。

 ◇中核モジュール
		構造モジュール 
		テキスト・モジュール
		ハイパーテキスト・モジュール
		リスト・モジュール

 ◇テキスト拡張モジュール
		プレゼンテーション・モジュール
		編集モジュール
		双方向テキスト・モジュール

 ◇フォーム・モジュール
 ◇表(テーブル)モジュール
 ◇画像モジュール
 ◇クライアント・サイド・イメージマップ・モジュール
	◇サーバー・サイド・イメージマップ・モジュール
	◇オブジェクト・モジュール
	◇組み込みイベント・モジュール
	◇メタ情報モジュール
	◇スクリプティング・モジュール
	◇スタイル・シート・モジュール
	◇スタイル属性モジュール 
	◇リンク・モジュール
	◇ベース・モジュール
 ◇レガシー・モジュール

 XHTML1.1では、多くの要素タイプで共通に利用できる属性を、属性集合として
 扱われています。最初に、代表的な属性の集合の一覧を記載します。

 ■属性集合(Attribute Collections)

  共通属性: id、title、dir、xml:lang
  イベント: onclick、ondblclick、onmousedown、onmouseup、onmouseover、
        onmousemove、onmouseout、onkeypress、onkeydown、onkeyup、
  スタイル: style (XHTML1.1非推奨) 

 属性タイプについては省略させていただきます。あしからず。


 -*-*- 一覧表の見方(各モジュールの構成要素単位に解説しています。)-*-*-
 (最小モデルとは、要素内で最低限記述すべき内容として取り上げています)

 Inline     --- インラインレベル要素の意味
 Block     --- ブロックレベル要素の意味
 #PCDATA    --- 解析される対象の文字(普通のテキストとは異なる)
 CDATA      --- 実体参照も含めた普通のテキスト
 text       --- テキスト(文字列)の意味
  empty      --- 最小モデルは何もない(空要素)
 URI    --- 参照先のパス(絶対パス、相対パス)
  Flow       --- ブロックレベル要素も配置可能な要素
  length     --- 長さの単位(ピクセル、%、em、ex、pt、mm、cm など)

  属性で示される( )内は値を表わしています。

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇中核モジュール(Core Modules)

 ■構造モジュール(必須)
 文書そのものを構造化する構成要素が盛り込まれたモジュールで、必ず使わな
 ければなりません。

 ○構成要素
 要素名   意味          属性         最小モデル
 ---------------------------------------------------------------------
  html   文書の最上位要素     xmlns(URI)、version    head、body
 head   ヘッダ要素                profile(URI)           title
  title  文書タイトル                   text(#PCDATA)
  body   本文(Flow)                                          Block


 ■テキストモジュール(必須)
 テキストを構成する要素の集まり。必ずというくらい使われるものが数多く存
 在しています。なお、要素によっては最小モデルが必ずしもテキストだけとは
 限りません。
  このモジュールによる構成要素のテキストのデータ型は #PCDATAとなってい
 ますので、文字実体参照は、必ず実体参照符号で記述しなければなりません。

 ○構成要素
 要素名   意味             属性        最小モデル
 ---------------------------------------------------------------------
  abbr     略語の説明(Inline)                text(#PCDATA)
  acronym    略語の説明(Inline)                text(#PCDATA)
  address   アドレス(Inline)                 text(#PCDATA)
  blockquote 長文の引用(Block)       cite(URI)       text(#PCDATA)
  br         強制改行                         empty
  cite       参照先(Inline)                 text(#PCDATA)
 code    PCプラグラムなどの表現(Inline)       text(#PCDATA)
 dfn       定義済み用語                 text(#PCDATA)
 div       汎用ブロック(Block、Flow)                  text(#PCDATA)
 em        強調文字                                     text(#PCDATA)
 h1〜h6    見出し(Block)                              text(#PCDATA)
 kbd     ユーザ入力文字(Inline)           text(#PCDATA)
 p         段落(Block)                                text(#PCDATA)
 pre     整形済みテキスト(Block)          text(#PCDATA)
 q      短い引用文(Inline)     cite(URI)     text(#PCDATA)
 samp     サンプルのテキスト(Inline)                text(#PCDATA)
 span       汎用インライン(Inline)                     text(#PCDATA)
 strong    強調文字(Inline)                           text(#PCDATA)
 var     変数などの文字(Inline)                     text(#PCDATA)

 ■ハイパーテキストモジュール(必須)
 ハイパーテキストは、他の文書やリソースを参照するために利用するためのモ
 ジュールで、アンカーがその主役になっています。

 ○構成要素
 要素名   意味         属性           最小モデル
 ---------------------------------------------------------------------
  a        アンカー(Inline)   href(URI)         URI(#PCDATA)
                  accesskey(CDATA)             (CDATA)
                                   tabindex(Number)     number(#PCDATA)
                                   charset(charset)           (#PCDATA)
                                   id(id)                     (#PCDATA)
                                   hreflang(LanguageCode)     (#PCDATA)
                                   rel (Link Types)           (#PCDATA)
                                   rev (Link Types)           (#PCDATA) 
                                   type (Content Type)        (#PCDATA)

 ■リストモジュール
 その名前が示唆するように、リストを表現するモジュールで、その最小モデル
 は、ul、ol、dl、の3つが定義されています。

 ○構成要素
 要素名   意味         属性           最小モデル
 ---------------------------------------------------------------------
  dl       定義済みリスト(Block)                dt、dd 
  dt      定義された用語(Inline)                              #PCDATA
   dd       用語の補足(Flow)                                    #PCDATA
   ol       番号なしリスト(Block)   li 
   ul     番号つきリスト(Block)   li 
   li     リスト項目(Flow)                                    #PCDATA

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇テキスト拡張モジュール

 ■プレゼンテーション・モジュール(表示モジュール)
 このモジュールは、単純なプレゼンテーション関係のマークアップのための要
 素、属性、最小内容モデルを定義しています。物理要素や見栄えを特定してい
 るため、近い将来の XHTMLモジュール定義(XHTML2.0)では廃止が予定されて
 います。

 ○構成要素
 要素名   意味         属性           最小モデル
 ---------------------------------------------------------------------
  b        強調文字(Inline)                             text(#PCDATA)
   big       大きい文字(Inline)                           text(#PCDATA)
   hr        罫線(Block)                                    empty
    i        斜体文字(inline)                             text(#PCDATA)
   small     小さい文字(Inline)                           text(#PCDATA)
   sub       下付き文字(Inline)                           text(#PCDATA)
   sup       上付き文字(Inline)                           text(#PCDATA)
   tt        テレタイプ文字(Inline)                       text(#PCDATA)


 ■編集モジュール
 何等かの変更などや付加する時があった場合に用いられる要素モジュールで、
 インラインとブロックレベルの両方の要素タイプを持っています。

 ○構成要素
 要素名   意味         属性             最小モデル
 ---------------------------------------------------------------------
    del      抹消線付き文字    cite(URI),datetime(datetime)     #PCDATA
    ins      挿入テキスト      cite(URI),datetime(datetime)     #PCDATA

 ■双方向テキスト・モジュール
 テキストの並び(方向)を示すモジュールで、アラビア語などの右から左へ表
 わされるテキストの場合に用いられます。

 ○構成要素
 要素名   意味         属性            最小モデル
 ---------------------------------------------------------------------
  bdo     テキスト方向(Inline)  dir(ltr、rtl)           text(#PCDATA)

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇フォーム・モジュール

 ■フォームモジュール
 ユーザからの入力欄などを設定するためのフォームを構成するモジュールです。
  必要最小限の要素を集めた基本モジュールとフルスペックモジュールの2つ
 のモジュールがありますが、ここではフルスペックモジュールを掲載します。

 ○構成要素
 要素名   意味         属性            最小モデル
 ---------------------------------------------------------------------
 form  フォームの設定(Block) action(URI) method(get、post) #PCDATA
  input  入力コントロール   accesskey(CDATA),tabindex(number) empty 
  label  ラベル(Inline)       tabindex(number),for(id)         #PCDATA
  select  メニュー    tabindex(number),name(CDATA) option 
 option  メニュー項目  selected,value(CDATA)         #PCDATA
  textarea  テキスト領域 accesskey(CDATA),tabindex(number)    #PCDATA
  button   ボタン(Inline) accesskey(CDATA),tabindex(number)    #PCDATA
  fieldset フォームのグループ化(Inline)                       #PCDATA
  legend   グループ化したラベル(Inline) accesskey(CDATA)       #PCDATA
  optgroup グループ化したメニュー  label(text) option 

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇表(テーブル)モジュール

 ■テーブルモジュール
 表を構成するモジュールで、基本モジュールとフルスペックモジュールがあり
 ます。携帯電話などに向けた XHTMLでは、テーブルの入れ子ができません。

 ○構成要素
 要素名   意味         属性            最小モデル
 ---------------------------------------------------------------------
 caption  テーブルのキャプション(Inline)            #PCDATA
  table     テーブルの範囲(Block) boeder,rules,summary,etc     tr
   td       データセル(Flow)    abbr(text),axis(CDATA),etc   #PCDATA
   th       ヘッダセル(Flow)    abbr(text),axis(CDATA),etc   #PCDATA
   tr       横列のセルの設定       abbr(text),char(charset)      td、th
   col      セルグループの仕様    width(multi-length),etc       empty
  colgroup  グループ化の設定    width(multi-length),etc        col
  tbody     本体部分のグループ   char(charset),align,etc         tr
  thead     ヘッダ部分のグループ   char(charset),align,etc         tr
  tfoot     フッタ部分のグループ   char(charset),align,etc         tr

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇画像モジュール

 ■画像モジュール
 基本的な静止画(GIF、JPEG、PNG形式など)をサポートするモジュールです。

 ○構成要素
 要素名   意味         属性             最小モデル
 ---------------------------------------------------------------------
  img      静止画の表示(Inline)   alt(text)                   empty
                                   width(multi-length)         length
                                   heightmulti-length)         length

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇クライアント・サイド・イメージマップ・モジュール

 ■クライアント・サイド・モジュール
 ユーザ側のブラウザで実行するイメージマップを構成するモジュールです。

 ○構成要素
 要素名   意味              属性          最小モデル
 ---------------------------------------------------------------------
  a   画像に配置するアンカー(Inline) coords(CDATA),etc 
  area    ほっとリンクの領域              accesskey(CDATA),etc    empty
   img    画像(Inline)                    usemap(id)              empty
  input   入力コントロール(Inline)        usemap(id)              empty
   map    マップの定義(Block)  
  object  オブジェクトの指定       usemap(id)

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇サーバ・サイド・イメージマップ・モジュール

 ■サーバ・サイド・モジュール
 サーバ側で処理をするイメージマップのモジュールです。基本的に CGIによっ
 て実行するイメージマップの構成要素をもっています。

 ○構成要素
 要素名   意味              属性          最小モデル
 ---------------------------------------------------------------------
   img    画像(Inline)                    usemap(id)              empty
  input   入力コントロール(Inline)        usemap(id)              empty

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇オブジェクトモジュール

 ■サーバ・サイド・モジュール
 動画などの多用なオブジェクトをサポートするモジュールです。ただし、今の
 ところこのモジュールをサポートしているブラウザが非常に少ないのが難点で
 しょう。

 ○構成要素
 要素名   意味              属性          最小モデル
 ---------------------------------------------------------------------
 object  オブジェクトの設定(Flow)  archive(URI),classid(URI)  #PCDATA
  param    パラメータの設定(Inline)  name(CDATA),type(ContentType) empty 

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇組み込みイベント・モジュール

 ■組み込みイベント・モジュール
 スクリプト言語と組み合わされて動作するモジュールです。定義されている属
 性は、ユーザがある動作を行った時に、特定のイベントが発生する要素と共に
 用いる属性です。

 ○構成要素
 要素名   意味              属性          最小モデル
 ---------------------------------------------------------------------
  a   アンカー(Inline)  onmouseover,onmouseout,onclick,etc
  area    領域(Inline)      onblur(script),onfocus(script)    ImageMap
  body    文書本体     onload(script),onunload(script)
 form   フォーム(Block)   onrest(script),onsubmit(script)      form 
  label   ラベル(Inline)    onblur(script),onfocus(script)       form 
  select  メニュー     onblur(script),onfocus(script)    form 
 textarea テキスト領域     onblur(script),onfocus(script)       form 
  button  ボタン            onblur(script),onfocus(script)       form 

 各イベントハンドラの動作と機能の解説はこちらです。
   http://www.scollabo.com/banban/java/jvs_004.html

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇メタ情報モジュール

  ■メタ情報モジュール
 文書自身が持つメタ情報を、HTTPサーバあるいはユーザエージェンシーに伝え
 るモジュールで、多くがブラウザへ情報を受け渡す役割があります。

 ○構成要素
 要素名   意味        属性                最小モデル
 ---------------------------------------------------------------------
  meta      メタ情報   content(CDATA),http-equiv(MIME),etc   empty

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇スクリプティング・モジュール

 ■スクリプト・モジュール
 このモジュールは、実行可能なスクリプトに関する情報やデータ、またスクリ
 プトのサポートの欠如に属する情報を含むときに用いる要素を定義します。
  ただし、XHTMLでは内容が #PCDATA であるために、外部に置くことが推奨さ
 れています。

 ○構成要素
 要素名   意味                 属性           最小モデル
 ---------------------------------------------------------------------
  script   スクリプトの記述(Block)  type(content),src(URI)     #PCDATA
  noscript  スクリプト未対応への対応              #PCDATA

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇スタイルシートモジュール

 ■スタイルシートモジュール
 このモジュールは、スタイルシートの使用を宣言するときに使う要素を定義し
 ます。このモジュールはヘッダ部に使用されます。ただし、XHTMLでは内容が 
 #PCDATA であるために、外部に置くことが推奨されています。

 ○構成要素
 要素名   意味                 属性           最小モデル
 ---------------------------------------------------------------------
 style  スタイルシート  type(content),media(media-type)   #PCDATA 


〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇リンクモジュール

 ■リンクモジュール
 リンクモジュールは、他の文書との関連や参照、あるいは読み込みをするため
 のモジュールで、文書のヘッダ部で利用されます。

 ○構成要素
 要素名   意味                 属性           最小モデル
 ---------------------------------------------------------------------
  link    文書の関係    charset(charset),href(URI),etc     empty 

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇ベースモジュール

 ■ベースモジュール
 文書中で指定されている相対 URIの基準となる絶対 URIを指定する要素が組み
 込まれたモジュールで、このモジュールを選択すると、base要素タイプが、構
 造モジュールの head要素タイプの内容モデルに追加されます。

 ○構成要素
 要素名   意味        属性                   最小モデル
 ---------------------------------------------------------------------
  base     基準 URI       href(URI)                       empty

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◇レガシーモジュール(非推奨:IGNORE)

 ■レガシーモジュール(注:XHTML1.1ではサポートされていません)
 HTML4 から非推奨となっている要素タイプや属性を定義しますが、マークアッ
 プに用いるべきではありません。XHTML 1.1や XHTML Basicでも採用されていま
 せん。(正確には、IGNORE:無視するように定められています。)

 ○構成要素
 要素名   意味           属性                  最小モデル
 ---------------------------------------------------------------------
 basefont  基準フォント     color, face, id, size         empty 
  center     中央揃え(Flow)                                   #PCDATA 
 font    フォント(Inline)  color, face, size              #PCDATA
  isindex    検索フィールド  prompt                          empty
  menu       メニュー          compact                           li
   s         抹消線付き文字(Inline)                           #PCDATA
  strike     抹消線付き文字(Inline)                           #PCDATA
   u         下線付き文字(Inline)                            #PCDATA

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

 紙面の関係でそれぞれの構成要素の属性を表わすことができませんでしたが、
 詳細は下記 URIにて参照してください。

 XHTML要素属性対比一覧(HTML4.01併記)
 http://www.scollabo.com/banban/senior/ref/cont.html

 この他に、ターゲットモジュール、アプレットモジュール、フレームモジュー
 ルなどがありますが、XHTML1.1では非推奨とされ、使用することができません。
  その意味で掲載を見送りました。あしからず。

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◆終わりに
今回のモジュールの説明では、できるだけ難しいものを避けて記述しましたが、
それでも初心者にとっては難解だろうと思います。

 XHTML1.1の文書型定義の中身を見ると、ほとんどの要素についてはモジュール
の参照に終始しています。つまり、従来の文書型定義とは様相が変わり、新たに
定義した「概念モジュール定義」が、今後の XHTMLのテンプレートになると言わ
れています。

 その意味では、独自に作成するタグの文書型定義にもモジュールの参照を記述
するだけで W3Cが定義した構成要素を取り込むことが可能になります。

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◆HTML タグの解説 --- a(アンカー)
ハイパーテキストを構成する重要なタグで、他の文書へのリンクを設定します。

 要素のタイプ:インラインレベル要素
 属性:href、name、title、lang
  属性値:href="URI" 文書のリンク
        :name="名前" 文書の位置を指定する名前
        :title="テキスト" 内容の補足的説明
        :lang="言語コード"(ja、en、zhなど)
  終了タグ:必須
 子要素として持てる要素 : インラインレベル要素のみ

 記述例
 <a href="index.html">ホームへ戻る</a>

アンカーで囲まれた文字列は未訪問、訪問済みで文字色が異なります。一般的に
はブラウザに依存しますが、スタイルシートによって場面ごとに様々な設定が可
能です。以下にサンプルを示します。

 a:link { color: #00f; text-decoration: underline }
  未訪問のリンクの文字色を青色の下線付きとした設定

  a:visited { color: #808; text-decoration: none }
 訪問ズ煮のリンクの文字色を紫の下線なしに設定

 a:hover { color: #000; text-decoration: none; background-color: #ff0 }
  リンクの文字にマウスが重なったら背景色を黄色、下線なしの黒色に設定

 li a:link { color: #090; text-decoration: none }
  リスト項目にあるリンクのみ、文字色を緑、下線なしに設定

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

今回はここまで、ではでは・・
今週のおさらいは Webページにも掲載しましたので、是非見ておいてください。
Webページでは HTML文の実行結果のサンプルもあり、より分かりやすく説明して
います。あわせて過去の記事のおさらいも掲載しています。

(今週のおさらい)モジュールの意味を記載し、一部サンプルを用意しました。
http://www.scollabo.com/banban/magazine/review_041.html

 次回から、XHTML1.1の実際の作成を始めたいと思っています。

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

質問・ご意見ははこちらまで→ banban@scollabo.com
なお、ご質問の際には、お使いのOS、通常使っているブラウザ、使っているテキ
ストエディタなど、なるべく分かりやすく制作環境を明記していただけると回答
しやすくなると思います。
 ただし、平日の昼間は会社勤めなので、返事が遅れることがあります。ご了承
ください。

発行者 ばんばん
協 力 スズキ・コラボレーション http://www.scollabo.com/
配信エンジン まぐまぐ http://www.mag2.com/  (ID 0000090196)

誤字・脱字・変換ミス・表現欠乏などには平にご容赦願います。なお、マガジン
のすべての記述に誤りや重大なスペルミスがある場合、叱咤と罵声と共に私まで
突きつけていただくと幸いに思います。

バックナンバー こちらで公開しています。
プレーンテキスト  http://www.scollabo.com/banban/magazine/magazine.html
各号のおさらい  http://www.scollabo.com/banban/magazine/
アーカイブ    http://www.scollabo.com/banban/daf/archive.html
講座教材     http://www.scollabo.com/banban/daf/material.html
まぐまぐの過去記事 http://backno.mag2.com/reader/Back?id=0000090196

配信の変更・中止はこちらです。
個別の手続きは受け付けていませんので、ご面倒でも各自でお願いできれば助か
ります。
当サイトにて http://www.scollabo.com/banban/magazine/top.html
まぐまぐにて http://www.mag2.com/m/0000090196.htm

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

<えでぃた〜ず・るーむ>
オープン・ソースについて話をしましょう。

 米国マイクロソフト社のビル・ゲイツ会長が来日しました。その狙いは何だっ
たのでしょう?

 日本の政府がオープン・ソースを基本としたシステムの移行を宣言したことか
ら、マイクロソフトでは危機感を強め、一部のソースを公開したり Linuxを代表
とするオープン・ソースの安全性を批判したり、そのあわてぶりの象徴として、
今回の氏の来日になったのではないかと、私は推測しています。

 現在、Windowsサーバの世界市場のシェアは 65%と云われ、パソコンにいたっ
ては80%を超えるシェアを誇っています。まさに巨大ソフトメーカーとしての面
目躍如といったところでしょう。しかし・・

 ここにきて「脱Windows」が加速し、Linuxや FreeBSDなどのオープン・ソース
OSが人気を博しています。オープン・ソースとは、誰でも無償でそれらの基本ソ
フトをダウンロードし、インストールすることができます。
 オープンであるため、そのソース・コードを改変し再配布することさえ許され
ています。

 また、オープンであるがゆえに、世界中の技術者がボランティアで、競うよう
にして開発され続け、今も日々成長し再配布されています。
 経済成長が著しい中国では、まだまだ国民の取得は低く、マイクロソフトのOS
は高嶺の花です。そのため「タダ」の Linuxがあっという間に普及しました。

 私の自宅でも古いパソコンに、雑誌の付録でついていた Linuxをインストール
して現在も現役で活躍しています。カーネルしか持たないために、原始時代の古
い CPUでさえ非常に速くサクサク動いています。また、日々アップデートされて
いるカーネルなどを常にダウンロードし、バリバリの最新 Linuxに成長し続けて
います。
 ソフトウェアも無償で提供されており、ブラウザは Netscap、Mozilla、Opera
などが利用でき、オフィスソフトはサン・マイクロシステムズ社がやはり、無償
で、OpenOfficeを提供しています。この OpenOffice は非常に優れもので、マイ
クロソフト社の Office のデータを読み込むことが可能です。

 ただし、Linux は誰もサポートしてくれません。基本的に自己の責任で利用す
ることがオープン・ソースの原則です。

 ソフトハウスが販売している Linuxはもともと無償のオープン・ソースなのに
なぜ、お金を取って売っているのでしょう?

 例えば、刺身が食べたいとします。スーパーなどに行けば売っています。決し
てタダではありません。ところが刺身となる魚は海にいて、もともとは価格など
はついておりません。タダで食べたければ、自分で船を出し魚を釣ればいいわけ
です。オープン・ソースも同じことが当てはまります。
 ソフトハウスなどが販売している所謂デストリビュート・Linux などでは有償
でサポートしてくれます。

 私の会社では Windowsマシンが約40台ばかりあり、それぞれを新しいOSにアッ
プデートするとコスト的に厳しくなり、使えなくなるソフトやハードも出てきま
す。誰しも最新のコンピューターとソフトを使いたいのは理解できますが、今の
このデフレ状況下では、あまりにも経済的負担が大きすぎます。

 そういった意味から、会社でも少しずつオープン・ソースに移行しつつありま
すが、サポートは私たちの部署となるわけで、少々荷が重いと感じています。

 Tips:Linux
 リナックスとか、ライナックスなどと呼ばれるソースコードを一般に公開して
 いるOSのことです。もともとフィンランドの学生だった人が、UNIXの基本的な
 部分だけを改変し、インターネット上でそのソースコードを公開したことから
 人気が出たものです。

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

◆著作権について
個人がご自分のPCに保存して利用する以外の記事の転載、引用は基本的に応じ
ておりません。記事中の内容について、無断で使用することを固く禁じます。
 なお、記事中のスタイルシート、HTMLをご自分のページ作成に自由に使ってい
ただいても差し支えありません。

            Copyright(C) 2002-2003  www.scollabo.com/banban/
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓



Copyright(C) 2002-3003 banban@scollabo.com