基本データ形式

 
  
ホーム > HTML Note > HTMLの概要 > 基本データ形式

基本形式

以下の表は、SGMLで予約されているデータ形式です。#PCDATAは内容モデル(要素内容)として使用され、NAME、ID、IDREF、IDREFS、NUMBERは属性値として使用されます。CDATAはそのどちらにも使用されます。
 

#PCDATA


文字参照を含むテキスト。
#PCDATAとは、Parsed Character Dataの略で、SGML的に解釈される(Parsed)データ形式です。このデータ型は任意の長さを持つ(長さゼロでもよい)任意のテキストで、以下のような特徴を持ちます。

&のような文字参照は文字参照として解釈され、&に置き換えられます。

マーク付けはマークとして解釈されます。たとえば、[<]はタグの開始区切り子として解釈され、ここで#PCDATAは終了します。また、コメント<!-- -->はコメントとして解釈され、内容が無視されます。

HTMLにおいて記述される文章のほとんどが、#PCDATAです。
 
 

CDATA


文字参照を含むテキスト。
CDATAとは、Character Dataの略で、文字データをあらわします。#PCDATAとの違いはSGML的に解釈されないということです。このデータ型は任意の長さを持つ(長さゼロでもよい)任意のテキストですが、属性値に使用する場合と内容モデル(要素内容)に使用する場合とでSGMLの解釈が異なります。

属性値に使用する


文字参照は文字参照として解釈されます。onclick="alert(&#39;こんにちは&#39;);"などは、onclick="alert('こんにちは');"というように解釈されます。改行文字LF[\n]は無視されます。個々の改行文字CR[\r]あるいはタブは、1つの空白文字に置き換えられます。属性値内の空白文字に関して、最初と最後のものは無視されます。

以上の点を除いて、記述した内容は生のテキストとして扱われます。[<]などのマーク付けもそのまま[<]と記述されます。

CGIなどに渡すパラメータの区切り子に&を使用する際には、属性値の文字参照が解釈されることを想起しなければなりません。URIにおける&は&amp;と記述しなければなりません。

内容モデル(要素内容)に使用する


XHTML1.0未満のstyle要素やscript要素の内容がCDATAとされています。HTML4.0で廃止されたlisting要素やxmp要素の内容もCDATAでした。

内容モデルに記述されたCDATAは、生のテキストとして扱われます。マーク付けや文字参照を解釈しません。&amp;は&amp;と表示され、[<]や[>]もそのまま表示されます。CDATAは、ETAGOが出現した時点で終了します。ETAGOとは終了タグ開始区切り子[</]をあらわします。
 
 

ID


[a-zA-Z]で始まり、[a-zA-Z0-9][-_:.]を含む。IDは大文字小文字を区別します。

IDは要素に固有名を指定します。ひとつの文書内に同じ名前のIDを複数記述することはできません。IDは、スタイルシート、スクリプトなどに参照される固有名、リンクの目標アンカー、object要素の名称などとして使用されます。

id属性とname属性の値は、同じ「名前空間」を共有するので、同一文書内に同じ値を記述することはできません。name属性は文字参照を含み得ますが、id属性は含み得ません。
 
 

NAME


[a-zA-Z]で始まり、[a-zA-Z0-9][-_:.]を含む。
 
 

IDREF (IDの参照)


IDの参照(ID reference)。IDREFは大文字小文字を区別します。label要素で使用します。
 
 

IDREFS (IDの参照リスト)


IDの参照リスト(ID references)。IDREFSは大文字小文字を区別します。thtd要素で使用します。
 
 

NUMBER (数字)


[0-9]で表される1桁以上の数値。
 

 

name (名前)

 "CDATA"
HTML4.01の仕様では各要素によって大文字小文字の区別が異なりますが、ID後方互換性にも用いられていることからも、[a-zA-Z]で始まり、[a-zA-Z0-9][-_:.]を含み、大文字小文字を区別すると考えておくのが無難でしょう。

name属性の属性値に関して、CDATAとなっており特に指定はありません。その用途は、単なる名前(map applet)、ID後方互換性(a img form)、コントロール名(object input select textarea button)、フレーム名(frame iframe)、その他(param)などに分けられます。meta要素のみに定義されるname="NAME"は、別物なので注意が必要です。

また、name属性とid属性の値は、同じ「名前空間」を共有するので、同一文書内に同じ値を記述することはできません。name属性は文字参照を含み得ますが、id属性は含み得ません。
 
 

class (クラス)

 "CDATA詳細
class属性は半角スペース[ ]で区切られたクラスのリストで指定します。class属性値はスタイルシートに参照されるクラスとして、ひとつの文書内に複数記述することができます。

class属性の属性値に関して、CDATAとなっており特に指定はありません。CSS2において識別子の先頭文字にハイフン[-]や数字[0-9]の出現が禁止されていることからも、[a-zA-Z]ではじまり[a-zA-Z0-9]を含む文字列と考えておくのが無難でしょう。記号ハイフン[-]を含む文字はIE4での誤作動が確認されているそうです。

class属性は大文字小文字を区別します。
 
 

文章 (%Text; "CDATA")

「人が読んでわかる」ような、文字参照を含む一般的な文章。
 

URI (%URI; "CDATA")

[a-zA-Z0-9][-_.!~*'():/?;@&=+$,]のASCII文字が使用可能です。安全性の面から、URIは常に大文字小文字を区別すると覚えたほうが良いでしょう。URL[rfc1738][rfc1808]では使用できなかったチルダ[~]は、URI[rfc2396]になって使用することができるようになりました。

参考資料: [rfc2396] updates [rfc1738] and [rfc1808].

非ASCII文字や、日本語などを扱う場合は、各文字をUTF-8[rfc2279]の1バイトあるいは複数バイトで表現するか、URIのエスケープ機構のより、バイト値16進表現hhを用いて「%hh」であらわします。

URL + URN = URI


URL(Uniform Resource Locator)とは、Web上でのリソースのありかを示す1つの方式です。また、リソースを識別するための新しい拡張方式にURN(Uniform Resource Name)があります。この両者を合わせてURI(Uniform Resource Identifier)と呼びます。
 

色 (%Color; "CDATA")

色の値は #記号を頭につけた16進数値(#RRGGBB)、あるいは下記の16種類のカラー名で指定します。  WebSafeColors  ColorName

black= "#000000"
green="#008000"

silver= "#c0c0c0"
lime="#00ff00"

gray= "#808080"
olive="#808000"

white= "#ffffff"
yeliow="#ffff00"

maroon= "#800000"
navy="#000080"

red= "#ff0000"
blue="#0000ff"

purple= "#800080"
teal="#008080"

fuchsia="#ff00ff"
aqua="#00ffff"

異なったOSや256色モードなどの制限されたカラーモードにおいても同じ色で表現することができるカラーをウェブセーフカラーといいます。WebSafeColorsを参照してください。
カラー名には、Netscapeによって定義されIEでもサポートされるものがあります。ColorNameを参照してください。

色は、大文字小文字を区別しません。
 

長さ (Nは整数、Sは小数点を含む数値 "CDATA")

ピクセル (%Pixels;) N(px)で指定。
長さ (%Length;) N(px)、S%で指定。
マルチ長さ (%MultiLength;) N(px)、S%または、N*(相対値)で指定。
マルチ長さのリスト (%MultiLengths;) N(px), S%, N*のようにコンマ[,]区切りのリストで指定。

相対値[N*]に関して、60ピクセルという幅に対して、「1*,2*,3*」という相対値が指定された場合、「1*」には10ピクセル、「2*」には20ピクセル、「3*」には30ピクセルが割り当てられます。

長さの値は、大文字小文字の区別に無関係です。
 

MIMEタイプ (%ContentType; | %ContentTypes; "CDATA")

MIMEタイプは、リンク先のリソースデータ形式を指定します。
MIMEタイプ (%ContentType;) リンク先リソースのデータ形式を指定します。
MIMEタイプのリスト (%ContentTypes;) リンク先リソースのデータ形式をコンマ[,]区切りのリストで指定します。

MIMEタイプの例には、text/html、image/png、image/gif、image/jpeg、video/mpeg、text/css、text/javascript、audio/basicのようなものがあげられます。

MIMEタイプは大文字小文字を区別しません。

参考資料: [MIMETYPES] http://www.iana.org/assignments/media-types/
 

言語コード (%LanguageCode; "NAME")

言語コードでは、HTML文書内で人が話したり書いたりする言語を指定します。
en(英語)、ja(日本語)、en-US(アメリカ英語)、fr (フランス語)、zh(中国)などのコードがその例です。

言語コードは大文字小文字を区別しません。

参考資料: [rfc3066] ftp://ftp.rfc-editor.org/in-notes/rfc3066.txt
 

文字セット (%Charset; | %Charsets; "CDATA")

文字セット (%Charset;) SHIFT_JIS(シフトJIS)、EUC-JP(EUC)、ISO-2022-JP(JIS)、UTF-8など。
文字セットのリスト (%Charsets;) 半角スペース[ ]、もしくは[,]で区切られた文字セットのリスト。文字セットのリストは、form要素のみで使用します。

文字セットは大文字小文字を区別しません。

参考資料: [IANA CHARACTER SETS] http://www.iana.org/assignments/character-sets
 

文字 (%Character; "CDATA")

文字参照を含む任意の一文字。
 

日付と時刻 (%Datetime; "CDATA")

YYYY-MM-DDThh:mm:ssTZD
YYYY4桁の西暦年。
MM2桁の月数 (01なら1月、など)。
DD2桁の日にち(01から31まで)。
hh2桁の時間(00から23まで) (am/pmは許されない)。
mm2桁の分 (00から59まで)。
ss2桁の秒 (00から59まで)。
TZDタイムゾーンを示す。

TZD
Z UTC(Coordinated Universal Time: 協定標準時)を表します。
「Z」は大文字でなければなりません。
+hh:mm UTCよりhh時mm分間進んだ現地時間を表します。
-hh:mm UTCよりhh時mm分間遅れた現地時間を表します。

以下は、日本時間2002年2月8日午後11時59分59秒を表します。
2002-02-08T23:59:59+09:00
日本のタイムゾーンは、+09:00です。

「T」は常に大文字です。このデータ形式は、insdelmeta要素などで使用します。
 

リンク形式 (%LinkTypes; "CDATA")

リンク先の文書の形式を半角スペース[ ]区切りのリストで指定します。
Alternate代替文書。alink要素のlang属性、link要素のhreflang属性が"ja"以外に指定された場合は、リンク先が翻訳版であることを示します。link要素のmedia属性が指定された場合は、リンク先が指定したメディアであることを示します。
Stylesheet外部スタイルシート。
Start最初の文書。
Next次の文書。
Prev前の文書。
Contents目次。
Index索引。
Glossary用語集。
Copyright著作権表示。
Chapter章。
Section節。
Subsection小節。
Appendix付録。
Helpヘルプ。
Bookmarkお気に入り。

リンク形式は大文字小文字を区別しません。

上記に定義のない追加リンク形式を利用する際は、追加リンク形式を定義するプロファイルを用意しなければなりません。head要素のprofile属性を利用することでmetaデータプロファイルの所在を指定することができます。
 

メディア形式 (%MediaDesc; "CDATA")

出力メディア形式をコンマ[,]区切りのリストで指定。
screenコンピュータの画面。
tty固定文字幅による出力(テレタイプ、端末機器、携帯機器など)。
tvテレビ。
projectionプロジェクタ。
handheld携帯用端末(モバイル機器など)。
printプリンタ。
braille点字出力(点字ディスプレイなど)。
aural音声出力(スピーチシンセサイザなど)。
allすべてのメディア。

メディア形式は、大文字小文字を区別しません。
 

スクリプト (%Script; "CDATA")

スクリプトデータは、script要素の内容およびイベント属性の値として使用されます。
大文字小文字を区別するかどうかは、スクリプト言語に依存します。

属性値には文字参照を含むことができますが、要素の内容としては文字参照を含むことができません。
 

スタイルシート (%StyleSheet; "CDATA")

スタイルシート(CSS: Cascading Style Sheet: カスケイディング・スタイル・シート)は、style要素の内容およびstyle属性の値として使用されます。
大文字小文字を区別するかどうかはスタイル言語に依存します。

属性値には文字参照を含むことができますが、要素の内容としては文字参照を含むことはできません。
 

目標フレーム (%FrameTarget; "CDATA")

目標フレームは、[a-zA-Z]で始まる文字参照を含む文字列になります。参照する値の形式が「name="値"」「id="値"」であることから、[a-zA-Z]で始まり、[a-zA-Z0-9][-_:.]を含み、大文字小文字を区別すると考えておくのが無難でしょう。

HTML4.01の仕様では大文字小文字を区別しませんが、IEやNetscapeでは大文字小文字を区別します。

name属性id属性の値は、同じ「名前空間」を共有するので、同一文書内に同じ値を記述することはできません。name属性文字参照を含み得ますが、id属性は含み得ません。

以下は予約済みの目標フレームとして特別な意味を持ちます。大文字小文字を区別しません。
_blank新規ウィンドウ。
_self現在のフレーム。初期値(デフォルト)。
_parent現在のフレームの親フレーム。親フレームがない場合[_self]と等価になる。
_top全てのフレームを解除した大元ウィンドウ。親フレームがない場合[_self]と等価になる。
 
関連項目:
トップページ HTML Note ページトップ
 2003/09/17発行 2008/01/01更新