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

Web作成支援

メールマガジン「初心者のためのホームページ作り」でお伝えした内容を、「復習」の意味で掲載しています。テキストのみのマガジンと違って、実際のサンプルや画像を交えて解説していますので、理解が深まると思います。なお、疑問点や分からない点がありましたら、遠慮なく メールにてご質問ください。

<第71号> 今週のおさらい
                  毎週金曜日配信 What's New 2003/10/24
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
   ■ HTML講座  第17回 --- フレームの作成
   ■ XML初級講座 第9章 --- 属性(データ種別)
HTML講座 --- フレームの作成
前回 説明したとおり、今回はフレームの特徴を理解しつつ、訪問者に優しいフレームを作成します。今回作成するのは、2つのウィンドウを持ったフレームです。
フレームを定義する
フレームを表現するには、何よりも先にフレームを定義したHTML文書を作成しなければなりません。
「フレームを定義する」ということは、Webブラウザ上の画面を区切り、その上で別途それぞれのウィンドウで表示する文書を読み込ませるような、あらかじめフレームであることをユーザエージェントに伝えるための「表示設定」ということです。
フレームを定義するHTMLでは、その冒頭で{Frameset」という 文書型定義 (DTD)を宣言しなければなりません。
またこの文書では、ウィンドウをどのように区切るかを設定します。当然、区切られたウィンドウには、読み込ませるべき文書を指定しなければなりません。

フレームを定義するHTML文書

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_Jis">
<title>フレームのサンプル</title>
</head>

<frameset cols="220,*" title="フレームを左右に切り分けます">
  <frame src="sample_1-1.html" marginwidth="0" name="menu">
  <frame src="sample_1-2.html" marginwidth="0" name="main">

    <noframes>
     <body>
      <p>残念ながらこのページはフレーム対応になっています。
         フレーム未対応のブラウザは、こちらにお進みください。
       <a href="sample_1-2">メインコンテンツ</a></p>
     </body>
    </noframes>
</frameset>
ここでは、frameset要素が、通常の body要素の替わりに記述します。また、この文書ではコンテンツの記述は一切できません。
ただし、フレーム未対応の Webブラウザに対してのみ、noframes要素内で、代替のコンテンツを提供することができます。つまり、noframes要素内の body要素は、あくまでフレーム未対応のブラウザのための要素であるということです。くれぐれもお間違えのないように。
このフレームを定義する記述は、左右に2つのウィンドウによって区切られ、それぞれにウィンドウ名が付けられていることが理解できるでしょう。
フレームを定義する要素と属性
フレームを定義するための要素と、その属性に関しては以下の通りです。
要素名属性名 機能
frameset フレームを定義する
colsウィンドウを横方向に区切る幅を指定する
rowsウィンドウを縦方向に区切る高さを指定する
frame 区切られたウィンドウの内容表示を指定する
srcウィンドウに表示する文書の URIを定義する
nameウィンドウ名を定義する
marginwidthウィンドウの左右の余白を設定する
marginheightウィンドウの上下の余白を設定する
noresizeフレームサイズの変更を禁止する
scrollingフレームのスクロールバーの表示/非表示の指定
frameborderフレーム枠の表示/非表示を指定する
longdescフレームに関する詳しい説明のある文書の URIを指定
noframes フレーム未対応ブラウザへの代替コンテンツを示す
target属性
フレームを定義する文書によってウィンドウ名が決められます。各ウィンドウのナビゲーションは、この「名付けられたウィンドウ名」を基本として操作します。
例えば、「menu」ウィンドウから、「main」ウィンドウへの操作は、target属性を利用します。
target属性における値の機能

  target="ウィンドウ名"  指定されたウィンドウで表示する
  target="_top"          ウィンドウを解除して表示する
フレームのサンプル 詳しいHTML構文は、今週のメールマガジン「第71号」をお読みください。
XML初級講座 --- 属性におけるデータ種別
本誌 「第64号」でもご紹介したように、DTD(Document Type Definition)は XML文書において使用することのできる要素や属性の種類、また、その並び(順番)、登場回数などを規定する場合に、コンパクトに構造を表現する手段を提供します。
DTDを作成する際の属性リスト宣言では、そのデータの性質を示す「データ型」を記述します。これによって、属性値の利用範囲が決まり、その性格をあらわします。
属性のデータ型は、文字列型、トークン型、列挙型の3つに分けられ、特にトークン型は8つの種別を持ち、識別子やタイプ分けすることができます。
文字列型
文字列型は CDATAで記述します。つまり、普通に読み書きできる文字列を表わします。
トークン型
トークン型は識別子として区別する ID型、識別子を参照する IDREF型、DTDで宣言するエンティティ(実体)を参照する ENTITY型、数値やハイフンなどを名前の先頭に記述できる MMTOKEN型、外部の文書から参照する NOTATION型などに分けられています。
列挙型
属性値に利用する値の候補を任意に列挙して示す型を表わします。つまり、属性値としてとることができる値をすべて列挙します。
この時、候補の値としてどんな文字列でも良いのではなく、「名前トークン」でなければなりません。つまり、名前トークンという制約を満たさない値をとり得る属性は、列挙型にすることができません。
それぞれのデータ種別に関する詳細は、今週のメールマガジン「第71号」をお読みください。


This page is Valid HTML 4.01! Copyright(C) 2002-2003 banban@scollabo.com