Let's begin XHTML―さあ始めよう XHTML

Section 18:その他のマークアップ

 ここでは,XHTML における,重要なマークアップについてまとめて紹介する。

コメント

 XHTML ソース中に,処理の際に読み飛ばされるコメントを記述することができる。コメントは,“<!--”から始まり,“-->”で終わる。

<!-- ... -->

コメントは,出力させない情報をソース中に書き込んでおくときに用いる。また,これから増やす(まだ作られていない)ページへのハイパーリンクを無効にするために,a 要素のタグをコメントしておくなどという使い方も有効だろう。

 コメントは,

  • マークアップ(タグなど)を分断しない
  • XML 宣言の前に書かない

限り任意に用いてよい(body 要素の中だけに限らない)。ただし,コメントの中にコメントを書いてはならない(コメントの入れ子の禁止)。

 次に示すのは,コメントの例であり,処理・出力の際には無視される。

<p>量子力学の基本方程式であるシュレディンガーの方程式は,20 世紀前半<!-- 詳しい年代は要調査 -->に提出された。</p>

また,コメントは複数行にわたってもよい。

<h1>CONTENTS</h1>
<ul>
<li><a href="readme.html">まずお読みください</a></li>
<li><a href="hida/">飛騨紀行</a>(写真でつづる旅行記)</li>
<!--
<li><a href="yatsu/">八ヶ岳紀行</a></li>
<li><a href="cgi-bin/bbs.cgi">山歩き掲示板</a></li>
-->
<li><a href="profile.html">筆者プロフィール</a></li>
</ul>

上記の例では,2 つの li 要素をコメントにし,読み飛ばさせている。

 コメントの内容には,連続した 2 個のハイフン“--”が現れてはならない。また,“-->”が現れるとコメントの終わりとされるのにも注意が必要である。

 コメントは,タグに似た形をしているが,タグとは呼ばない(“コメントタグ”という呼び方は誤りである)。

文字実体参照

 XHTML をはじめとする XML では,ある名前をほかの文字列に置き換える機構がある。これを,実体参照と呼ぶ。

 実体参照によって置き換えられる文字列は,アンパサンド「&」で始まり,セミコロン「;」で終わる,次のような形をしている。

&...;

上記のような文字列で,(何らかの方法で登録された)名前を参照すると,その部分がその名前に結び付けられた文字列に置き換えられる。

 この,実体参照の中で,わたしたちが重用するであろうものが文字実体参照で,名前を文字に置き換えるものである。これは,“直接入力ができない文字”に対して使う場合がほとんどである。

 たとえば,不等号「<」「>」を考える。これを,ページソース中に書き込んだら,特に小なり不等号「<」からあとがタグなどとみなされてしまうだろう。不等号は,XHTML にとって“特別な文字”であり,“‘特別な文字’でない,文字どおりの不等号”を出力させたいときには,文字実体参照を頼らなくてはならない。そこで,

  • 小なり不等号「<」は“&lt;
  • 大なり不等号「>」は“&gt;

が用意されている。本チュートリアルでは,XHTML ソースをページ中で示しているが,そのために文字どおりの不等号を出力させなければならない。したがって,ページに示されている不等号は,ページソース中ではすべて“&lt;”“&gt;”に置き換えられている。

 お気づきかもしれないが,アンパサンド「&」も XHTML にとって,実体参照(または後述する文字参照)の始めを表す,特別な文字である。したがって,文字どおりのアンパサンドを出力させるのに,文字実体参照“&amp;”が用いられる。

 属性値は“属性名="属性値"”のような書き方をするが,この属性値に二重引用符「"」があると,その二重引用符が属性値の終わりを示してしまう。これを避けるには,これを“&quot;”と参照する。また,“属性名='属性値'”の場合は単一引用符(アポストロフィ)「'」が同様の位置付けになり,これは“&apos;”と参照される。

 属性値をくくる引用符が二重引用符ならば,その中で単一引用符をそのまま書いて問題ない。また,属性を単一引用符でくくれば,その中で二重引用符をそのまま書いても問題ない。ただし,いずれの場合でも,単一引用符と二重引用符が同時に出現するならば,いずれかは参照で記述しなければならない。

 “&apos;”は,従来の HTML では定義されていない。したがって,従来の HTML との互換性を重視するときは,この文字参照を使ってはならない。単一引用符の参照は,“&#x27;”でもよい(この記法の詳細は Hop step XHTMLSection 28 で説明する)。

 また,“キーボードから直接入力ができない文字”を出力させるときにも文字実体参照は活躍する。たとえば,

  • 著作権記号「©」は“&copy;
  • 商標記号「™」は“&trade;
  • 登録商標記号「®」は“&reg;

などがある。このほかに,日本語環境では欧州言語のアクセントつきアルファベットの出力にこれが用いられるだろう。

 また,“&nbsp;”で参照されるスペースは,何個つなげても折りたたまれず(通常,ソースコード中の半角スペースは,複数続けて入力しても 1 個程度にしかみなされない),欧文中に出現したときはそこで折り返しが起こらない(欧文では,単語間のスペースは折り返し場所の候補になる)。どうしても複数の空白を入れたいときには有効である。