« 2006年06月06日 | メイン | 2006年06月08日 »
2006年06月07日
XSL-FOによるXMLのPDF化 (2) タグとスタイル
昨日のXHTMLでは次のようなタグが出てきました。
hr、h1、h2、ul、li、a
これらのタグ自身には、タグそのものまたはタグが囲むテキストなどの情報をどのように表示するかという定義はありません。
例えば、hrは、水平線(罫線)を引くという用途で使われるタグです。
ブラウザは、hrというタグを見つけると水平線を引こうとします。しかし、実際には、水平線を引くと言っても、次のような属性が決まらないと引くことができません。
・線を引く位置は?
線の位置(前の行との間隔、次の行との間隔)
水平線の開始位置、終了位置 (線の長さ)
・線の太さは?
・線の種類は?(実線、点線、破線、など)
・線の色は?
・線には、影を付けるかどうか?
・線の終端は丸めるか、丸めないか?
なにも指定していない場合、ブラウザはそれ自身の内部で既定値としてもっている情報を使って線を引きます。
さらに、これらの水平線の引き方を、次のようにhrタグに属性をつけて指定することもできます。
【例】
上から順に、線の太さ10px、長さ100px、左寄せ。線の太さ20px、長さ200px、中央。線の太さ30px、長さ200px、右寄せ。線の太さ30px、noshadeの線を引く。
<hr size="10px" width="100px" align="left" />
<hr size="20px" width="200px" align="center" />
<hr size="30px" width="300px" align="right" />
<hr size="30px" noshade="noshade"/>
これを、FireFoxで表示すると次の図のようになります。
最近のXHTMLでは、これらの表示時用の属性をhrタグの属性として指定するのではなく、タグにstyle属性をつけてCSSとして与えるか、あるいはCSSスタイルシートを使って外部から指定するのが推奨されています。できるだけ、コンテンツを示すタグと表示属性を指定するスタイルとは独立にすることで、Webのメンテナンスをし易くしたり、見栄えを変更するのが簡単にできるようになるからです。
このように、XMLのタグには、一般にはどのように表示するかという情報は内在しておらず、表示の方法はスタイルとして別途与えるようになっています。ブラウザは、XHTMLのタグに指定されたスタイルを使ってコンテンツを画面上に整形することになります。
投票をお願いいたします