since: 31st/Aug./2001; last modified: 13th/Sep./2001
Text モジュールには、次のブロックレベルの要素が定義されています:
更に、次のテキスト水準 (Inline)
の要素が定義されています:
| 要素 | 属性 | 最小内容モデル |
|---|---|---|
abbr |
Common |
(PCDATA | Inline)* |
acronym |
Common |
(PCDATA | Inline)* |
br |
Core |
EMPTY |
cite |
Common |
(PCDATA | Inline)* |
code |
Common |
(PCDATA | Inline)* |
dfn |
Common |
(PCDATA | Inline)* |
em |
Common |
(PCDATA | Inline)* |
kbd |
Common |
(PCDATA | Inline)* |
q |
Common, cite
(URI) |
(PCDATA | Inline)* |
samp |
Common |
(PCDATA | Inline)* |
span |
Common |
(PCDATA | Inline)* |
strong |
Common |
(PCDATA | Inline)* |
var |
Common |
(PCDATA | Inline)* |
内容セット Inline
の説明も参照ください。
実装: DTD
abbr, acronym, cite, code, dfn, em,
kbd, q, samp, strong, varbr, spanbr 要素を除けば、内容モデルは全て同じく、文字データか、内容セット Inline です。
br 要素は内容をもたない空要素です。
br 要素と q 要素を除けば、属性は全て同じく、 Common
です:
br 要素は Core だけ定義されており、 q
要素は Common に追加して cite 属性も定義されています。
span 要素| 名前 | span |
|---|---|
| 分類 | Inline |
| 意味 | span, generic language/style container |
| 日本語 | テキストレベルグループ化要素、言語・スタイルコンテナ |
内容モデルと属性は総論に従います。
この要素は、テキストレベルの要素構造をグループ化し、より上位の構造を形成するために用います。また、当該文字列の言語やスタイルシートの目標などにすることもあります。
ブロックレベルの構造は div 要素でグループ化し、テキストレベルの構造は
span 要素でグループ化します。
<p>ある文字列に注釈をつけたい場合は、 <span title="テキストのグループ化要素">span 要素</span> の内容にして、当該要素に title 属性を指定するという方法があり ます。</p> <p>また、言語属性と併用することも良いでしょう。日本語の中に <span xml:lang="en">Internationlization</span> が必要になることもあるのです。</p> <p>また、スタイル情報を適用する目標にすることもあります。 このときは、 <span class="element">class 属性や id 属性</span>と併用します。</p>
文書の構造化ということを考えるならば、 span 要素の利用頻度は非常に高いものになるでしょう。
strong 要素と em 要素
|
|
内容モデルと属性は総論に従います。どちらも強調する文字列をマークアップするための要素タイプです。
em 要素strong 要素英米の書籍では、強調する文字列はイタリック体で示し、より強く強調したい場合は、太字のゴシック体で示す習慣があります。この習慣に従うブラウザが殆どですが、見栄えはスタイルシートで調整するものです。
<p>ここは<em>強調</em>する文字列。 時として、<strong>より強く強調</strong>する場合もあります。</p>
br 要素| 名前 | br |
|---|---|
| 分類 | Inline |
| 意味 | forced line break |
| 日本語 | 強制改行 |
br
要素タイプは、段落中などソースの解釈後に改行が無効化される要素内で、行を強制的に終了させて、新しい行を開始するための要素タイプです。具体的には、改行させる位置に
br 要素を記述します。
br 要素は内容をもたない空要素です。従って、タグの記述方法が特殊です:
<br />
空要素には、 meta 要素、 link 要素、 img
要素などが存在します。
br 要素には Core だけ定義されています:
Coreid, class, title 属性<p>段落などの途中で強制改行したい場合は、 br 要素を用います。改行したい場所に br 要素を記述すると強制的に改行されます。<br /> ほらこの通り。改行されたことが分かりますか?</p>
上記サンプルの表示例です:
段落などの途中で強制改行したい場合は、 br 要素を用います。改行したい場所に br 要素を記述すると強制的に改行されます。
ほらこの通り。改行されたことが分かりますか?
abbr 要素と acronym 要素
|
|
内容モデルと属性は総論に従います。
abbr 要素タイプと acronym
要素は、当該文字列が省略語であることを示すための要素タイプです。
abbr 要素acronym 要素音声出力ブラウザにおいて、アルファベットを一文字づつ読むのか、続けて読むのかを指示する役割もあります。
<abbr title="World Wide Web">WWW</abbr>
<abbr xml:lang="fr"
title="Société Nationale des Chemins de Fer">
SNCF
</abbr>
<abbr lang="es" title="Doña">Doña</abbr>
<abbr title="Abbreviation">abbr.</abbr>
dfn 要素| 名前 | dfn |
|---|---|
| 分類 | Inline |
| 意味 | defining instance of the enclosed term |
| 日本語 | 被定義語句 |
内容モデルと属性は総論に従います。役割は、被定義語句であることを示すことです。
<p><dfn>line break</dfn> is defined to be a carriage return (
), a line feed (
), or a carriage return/line feed pair. All line breaks constitute white space.</p>
cite 要素と q 要素
|
|
cite 要素の内容モデルと属性は総論に従います。役割は、引用元の文献名などを示すことです。
q 要素の内容モデルは総論に従いますが、属性は総論に加えて cite
属性が定義されています。役割は、文字列が引用されたものであることを示すことです。ブロックレベルの引用は blockquote 要素を用い、テキストレベルの引用は
q 要素を用います。
<cite>Harry S. Truman</cite> 曰く、 <q xml:lang="en-us">The buck stops here.</q> <cite>[XHTMLMOD]</cite> によれば、 <q xml:lang="en" cite="http://www.w3.org/TR/xhtml-modularization/introduction.html"> XHTML is the reformulation of HTML 4 as an application of XML. </q>
ユーザーエージェントは、 q
要素を取り扱うとき、指定されている言語に適した引用符を自動的に付加するように推奨されています。これを実装しているブラウザは極々僅かに過ぎませんが、文書作者は
q
要素に引用符はつけないようにするべきでしょう。ユーザーエージェントが自動的に付加する引用符と重複してしまうからです。サポートしていないユーザーエージェントでは、地の文と混ざってしまいますが、スタイルで文字色を変えるなどして回避するのが良いと思います。
code 要素、 kbd
要素、 samp 要素、 var 要素
|
|
||||||||||||||||
|
|
code 要素、 kbd 要素、 samp 要素、
var 要素の内容モデルと属性は総論に従います。
これらの要素タイプは、コンピュータのプログラムコードの断片を意味付けするために用意されています。
code 要素kbd 要素samp 要素var 要素
<p>Perl の <code>while</code> ループ
について紹介します:</p>
<pre>
print "Steps?";
chomp(<var>$s</var>=<STDIN>);
<var>$pi4</var>=1.0;
<var>$n</var>=0.0;
while(<var>$n</var> < <var>$s</var>){
<var>$n</var>=<var>$n</var>+1;
<var>$pi4</var>=<var>$pi4</var>+(-1)**<var>$n</var>/(2.0*<var>$n</var>+1.0);
<var>$pi</var>=<var>$pi4</var>*4.0;
print "<var>$n</var>: <var>$pi</var>\n";
}
</pre>
<p>これは円周率 π を計算するものです。
最初にループ回数を入力すると、その回数
だけ繰り返します。次は出力例です:</p>
<pre>
<samp>Steps?<kbd>10</kbd>
1: 2.66666666666667
2: 3.46666666666667
3: 2.8952380952381
4: 3.33968253968254
5: 2.97604617604618
6: 3.28373848373848
7: 3.01707181707182
8: 3.25236593471888
9: 3.0418396189294
10: 3.23231580940559</samp>
</pre>
<p>10000 回繰り返しても
<samp>10000: 3.14169264359053</samp> ですから、
この公式は大変収束が遅いことが分かります。</p>
上記ソースの表示例です:
Perl の while ループ について紹介します:
print "Steps?";
chomp($s=<STDIN>);
$pi4=1.0;
$n=0.0;
while($n < $s){
$n=$n+1;
$pi4=$pi4+(-1)**$n/(2.0*$n+1.0);
$pi=$pi4*4.0;
print "$n: $pi\n";
}
これは円周率 π を計算するものです。 最初にループ回数を入力すると、その回数 だけ繰り返します。次は出力例です:
Steps?10 1: 2.66666666666667 2: 3.46666666666667 3: 2.8952380952381 4: 3.33968253968254 5: 2.97604617604618 6: 3.28373848373848 7: 3.01707181707182 8: 3.25236593471888 9: 3.0418396189294 10: 3.23231580940559
10000 回繰り返しても 10000: 3.14169264359053 ですから、 この公式は大変収束が遅いことが分かります。