Hop step XHTML―ホップ ステップ XHTML

Section 9:テキストモジュール(2)

 前節に引き続き,テキストモジュールの要素を解説していく。

アドレス・署名:address 要素

 address 要素は,文書の署名や連絡先などを書くための要素である。

内容モデル
(#PCDATA | %Inline.mix;)*
テキストとインライン要素
address 要素の属性
属性名属性値備考
コア属性
style 属性
国際化に関する属性
イベント属性

 たとえば,次のように使用する。

<address>Presented by Studio HEXANE<br />E-mail: <a href="mailto:hexane&#x40;tg.rim.or.jp">hexane&#x40;tg.rim.or.jp</a></address>

Let's begin XHTML の Section 10 で述べたように,メールアドレスを公開するときは,スパムメールの餌食にならないように注意されたい。

整形済みテキスト:pre 要素

 整形済みテキストは文字どおり,“その形で整形されたテキスト”である。これを表すための pre 要素は,通常の XHTML ソース中では意味を持たない,空白文字(たとえば,半角空白や改行)が意味を持つとして処理する。この要素は,ブロック要素である。

 内容モデルは基本的には“テキストとインライン要素”であるが,テキストの体裁を大きく変化させる要素,画像・オブジェクト,フォーム,ルビが除かれている点に注意されたい。

内容モデル
(#PCDATA | br | span | em | strong | dfn | code | samp | kbd | var | cite | abbr | acronym | q | tt | i | b | bdo | a | script | map)*
テキストと,“bigsmallsubsupimgobject,フォーム,ルビ”を除くインライン要素

 属性は,以下のとおり。

pre 要素の属性
属性名属性値備考
コア属性
style 属性
国際化に関する属性
イベント属性
xml:spaceキーワードpreserve”に固定される。明示的な指定は必要ない。

xml:space 属性は,XML の特殊な属性である。空白文字の扱いについて指定するもので,特に気にする必要はない。

 pre 要素では,空白・改行は意味を持つので,空白はその数だけ出力されるし,改行も文字どおり出力される。多くのブラウザは,この要素を等幅フォントで,行末での折り返しを抑制して出力するが,これをスタイルシートで変更しても構わない。

 pre 要素は,たとえば,(古典的な)アスキーアートを表示させるのに,また,空白が重要な詩,さらに,複数行にわたるコンピュータコードを出力させるのに使用される。たとえば,

<pre> (^-^)/
&lt;|   |
 &lt;  &lt;</pre>

お手元の環境では以下のような出力になる。

 (^-^)/
<|   |
 <  <

 ちなみに,要素について,そのスペースおよび折り返しに関わる CSS プロパティは“white-space”である(Let's begin CSS の 4.1 を参照されたい)。また,特に“空白文字でない半角空白”(複数並んでいてもその数だけ出力される空白)は文字実体参照“&nbsp;”を使用する(Let's begin XHTML の Section 18 も参照されたい)。

 XHTML 2.0 では,複数行にわたるコンピュータコードを表すのに,blockcode 要素が導入される見込みである。

強制改行:br 要素

 br 要素は,インライン要素のひとつで,強制改行を表す。この要素は内容をもたない,空要素である。

内容モデル
EMPTY
空要素
br 要素の属性
属性名属性値備考
コア属性

 XHTML では,原則として(pre 要素の一般的な出力,またはスタイルシートで空白・改行を文字どおり出力させるよう指示した場合以外),ソース中の改行は反映されない。br 要素は,パラグラフ中などで,特に改行したい箇所を示す。これは空要素なので,空要素タグで書く。たとえば,

<p> いかりや長介氏の訃報を聞いた彼は,<br />「逆にさ,憎まれっ子は,世にはばかるんだよ」<br />と,伏し目がちにつぶやいた。</p>

出力例をご覧いただきたい。br 要素が,改行に置き換えられているのがわかるだろう。

 いかりや長介氏の訃報を聞いた彼は,
「逆にさ,憎まれっ子は,世にはばかるんだよ」
と,伏し目がちにつぶやいた。

インラインコンテナ:span 要素

 span 要素は,div 要素と同じはたらきのインライン要素である。すなわち,特定の構造を表さず,文中の部分の特定の範囲にはたらきかける。内容モデルは,多くのインライン要素同様,“テキストとインライン要素”である。

内容モデル
(#PCDATA | %Inline.mix;)*
テキストとインライン要素
span 要素の属性
属性名属性値備考
コア属性
style 属性
国際化に関する属性
イベント属性

 たとえば,次のように使用する。

<p> 音声分析・符号化などでは,合成したものをもとの音声波形と比較しつつパラメータを決定していく <span xml:lang="en">Analysis by Synthsis</span> という方法が用いられることがある。</p>