pre 要素since: 31st/Aug./2001; last modified: 13th/Sep./2001
pre 要素タイプはテキストモジュールに含まれており、
XHTML 1.1 の内容モデルでは、、内容セット Block に含まれ、 DTD では %Block.mix;
に含まれます。従って、例えば body
要素タイプの子要素として定義されています。
| 名前 | pre |
|---|---|
| 分類 | Block |
| 意味 | preformatted text |
| 日本語 | 整形済みテキスト |
pre 要素タイプは、 "preformatted text"
を意味し、ソースでの空白・改行が、ユーザーエージェントによる解釈後も保存されます。 XML では特殊属性 xml:space="preserve"
が指定されていることを意味します。
通常の要素では、ソースでの空白・改行は、ユーザーエージェントによって解釈されるときに、簡潔にまとめられます。このお陰で、ソースでは自由にインデントを取ることができます。しかし、詩歌やプログラムソースなど、空白・改行に意味がある場合もあります。このようなときに、 pre 要素を用いるのです。
| 要素 | 属性 | 最小内容モデル |
|---|---|---|
pre |
Common, xml:space="preserve" |
(PCDATA | Inline)* |
実装: DTD、モジュール: Block Phrasal
この要素の内容には、解析対象となる文字データ (PCDATA) と、 テキストレベルであり、且つフォントの大きさを変更しない要素が許されます。
<!ENTITY % pre.content
"( #PCDATA
| %InlStruct.class;
%InlPhras.class;
| %tt.qname; | %i.qname; | %b.qname;
%I18n.class;
%Anchor.class;
| %script.qname; | %map.qname;
%Inline.extra; )*"
>
| クラス | 要素タイプ |
|---|---|
%InlStruct.class; |
br | span |
%InlPhras.class; |
em | strong | dfn | code | samp |
kbd | var | cite | abbr | acronym | q |
tt | i | b |
|
%I18N.class; |
bdo |
%Anchor.class; |
a |
script | map |
通常の Inline
から、文字の大きさや行の高さを変更するような要素が除かれています。具体的に除かれている要素は次のとおりです: big
| small | sub | sup | img | input | select |
textarea | label | button | ruby | ins | del noscript.
Commonxml:space = "preserve"pre 要素タイプの xml:space 属性の値は preserve
に固定されています。
<p>上田敏、『海潮音』より「春の朝」:</p>
<pre>
春の朝
時は春、
日は朝、
朝は七時、
片岡に露みちて、
揚雲雀なのりいで、
蝸牛枝に這い、
神、そらに知ろしめす。
すべて世は事も無し。
</pre>