語彙集

UA
UAはUser Agentを短縮した単語です。User AgentとはHTMLやHTTPを使用するプログラム全般のことで、自動巡回ソフトや検索エンジンのサーチロボット、IEやNetscape等のweb ブラウザを指します、当サイト内ではUAと言った場合、ほとんどはwebブラウザのことです。
LF
Line Feed、行送りを意味する。本来行を送る動作を表すだけであり、行頭にカーソルを戻す動作は含めないがUNIX等では改行として扱われる。FTPの ASCIIモード、テキストモードというのはファイル内に含まれるCRやCRLFをLFに変換しUNIXの改行コードに揃えて転送することです。html はLF以外にも後述のCR、CR+LFも改行として扱われます。
CR
carrige returne、行頭復帰を意味する。本来同じ行の先頭にカーソルや印字ヘッダを戻す動作のことであったがMacOS等では改行として利用される。 MacOS上で動くアプリケーションの改行が全てCRということではない。htmlではCRも改行として扱う。
CR LF
CRLF1セットで1つの改行を表す。windowsで主に使われている。本来CRはカーソルを戻すだけで行は変わらないし、LFは 行送りだけでカーソルは行頭に戻らないので2つを合わせて改行とするのは筋としては正しい。htmlではCR+LFを改行として扱う。ただ数値文字参照 で
とソースに記述した場合、それをCR+LFとして扱うブラウザとCRとLF2つの改行として扱うブラウザがあるの で注意して下さい。pre要素内で行が変わるのを嫌って改行の数値文字参照を使いたい場合などはLF(
)かCR(
) を使うのが無難でしょう。
#PCDATA
Parsed Charcter DataのことでSGML的に解釈されるデータという意味。このデータ内の文字参照は対応する文字に置き換えられます。例えば"&lt;" は"<"、"&#64;"は"@"に置き換えられます。またマークはマークとして解析されるので<が出るとタグの開始区切り子として 解釈されます。ですから中身を#PCDATAである要素の中にさらに他の要素でタグ付けすることは他の要素を含むことを許されている場合に限って可能で す。中身が#PCDATAであってもtextarea要素のように他の要素を含むことの出来ない要素は当然タグ付けをしてはいけません。
RCDATA
Replaceble Charcter Data、置き換え可能データのことで文字参照を対応する文字に置き換えられます、例えば&amp;は&に置き換わります。しか し#PDATAとは異なりマークは解釈しないのでコメントやタグ、< >などが書かれていてもそのままデータとして扱われます。属性値の中身は引用符で囲んだ場合RCDATAとなります。つまりa要素のhref属性内 に引用符で囲まれた"&#64;"は"@"として解釈されます。なお引用符で囲まなければ;&#64;"が;&#64;"のまま 扱われるわけではありません。引用符の無い属性値内で&は使用できません。
数値文字参照

環境によっては使用したい符号化方式では利用できない文字やその環境では直接入力でない文字を使用したいときもある。また"<"や"""のようにhtml文章を記述する際に使用する語句をそのまま文字として使用するとUAにいらぬ誤解を与えることにもなる。そのような場合は数値文字参照を利用すると良い。数値文字参照とはUCSと呼ばれる文字集合のcode positionを直接指定する方法である。

具体的に説明すると日本語版windowsMeのnotepadでhtml文章を作成したとしよう。文章は基本的に日本語だが一部に您好 啊(ニーハオ)という中国の文字を使用したいとする、しかし日本語版Meの付属notepadでは好はともかく、您啊という文字を使用できない、そこで您 啊のUCSのcode positionである21834、24744をそれぞれ&#と;で囲んだ&#24744;&#21834;を記述してやればよ い。これなら&と#、;そして数字しか使用していないのでshift_jisのみならずどんな文字符号化方法を用いても您啊を指定することができ る。UAは&#24744;&#21834;という文字列をUCS(国際文字集合)の中からcode position24744番と21834番に対応する您啊に置き換えてくれる。

また"<br>"という文字列を表現したくても、そのまま記述すればUAがbr要素と解釈して強制改行がはいるだけである。そこでタグ区切り子の"<"と">"を数値文字参照で記述して"&#60;br&#62;"とすれば、<br>を文字として表現できる。他にhtmlで使用する文字には属性値を囲む際に利用する引用符の"""(&#34;)と"'"(&#39;)、文字参照に使用する"&" (&#38;)等がある。cgiでBBS等を作成する場合、これらの文字は文字参照に置き換えるのが製作者の当然の配慮といえよう、なぜならタグ をタグとして投稿することができるのであればimg要素やobject要素、meta要素などを用いて悪意のあるプログラムでBBSの閲覧者に攻撃を加え るたり、そのサイトに相応しくない画像で嫌がらせをする等の不正行為を可能にするからである。

例では符号位置を10進数で指定した数値文字参照をあげたが、16進数で指定するす数値文字参照もある、您好啊の場合 は&#x60a8;&#x597d;&#x554a;になる。16進数の符号位置を&#xと;で囲めばよい。16進数で 使うa-fは大文字と小文字の違いはないが、符号位置直前のxについてはxhtmlの場合は小文字のxを使用しなければならない。

符号位置(code position)
レパートリ中の文字を参照する整数値。UCSやASCIIのcode position 64は【@】を、UCSの31526は【符】を指す。
UCS
Universal Multiple-O ctet Coded Charcter Set、世界中の文字を包括する符号化文字集合。グローバルな規模で利用されるHTMLはこのUCSを利用している。コードテーブルは21億文字分を超 え、ひとつの文字体系で多国語処理を可能にしようという目的で作られている。しかしまだ現在使用されているのはUCS-2と呼ばれる2バイト部分、 65535文字部分がほとんど。
空白類文字
空白類文字にはUCS code positionで32のスペース、8203のゼロ幅スペース、9の水平タブ、10の行送り13の復帰、12の書式送りが含まれる。当然13、10のCR + LFも 含まれる。いわゆる全角空白は空白類似文字ではないので注意してください。32、8203以外は制御文字と呼ばれhtml cssともに空白類文字は他の抽象文字と一線を画す扱いをしている。例をあげると空白類文字はとhtml文章内のどの位置に出現してもよいとされている。 head要素の終了タグからbody要素の開始タグの間のような抽象文字が出現できない場所にも自由に空白類文字を利用して構わない。またUAは要素の開 始直後、終了直前の空白類文字は無視するのが正しいとされている。そのためhtml文章製作者は要素直前の空白類文字を無視するという性質に注意しなけれ ばならない。
This is a<em> pen</em>.
上記のようなタグ付けではThis is apenと表示されてしまう。
This is a <em>pen</em>.
とするのが正解。
博美[hiromi] E-mail : hiro@eris.ais.ne.jp