XSL-FO文書の構造
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/03 01:11 UTC 版)
「XSL Formatting Objects」の記事における「XSL-FO文書の構造」の解説
XSL-FO文書はXML文書であるが、明示的なDTDないしスキーマに従う必要は無く、XSL仕様においてXSL-FO文書の構文が定義されている。 XSL-FO文書は、大きく分けて2つの必須の部分から構成される。 最初の部分で、ページのレイアウトを詳しく定義する。レイアウトは1つまたは複数定義することができる。各レイアウトには名前をつける。 次の部分で、一連の文書データを記述する。文書データにはXSL-FOで規定されたマークアップを行う。このマークアップにより、文書データを構成する内容が、先の部分で定義したページレイアウトのうち、どのページレイアウトによって表現されるかを指定する。 最初の部分 (layout-master-set要素) のページレイアウト定義では、ページの特徴を定義する。 テキストの表記方向を定義することができる。「右から左に文章を進める」「上から下に文章を進める」「左から右に文章を進める」など、言語に固有の重要な慣習に沿うように指定することができる。 ページの縦横の長さやページの余白 (マージン) の長さを指定することができる。 ページの連なりについて定義することができる。例えば、奇数ページと偶数ページとで余白などの指定を変えることが可能である。 例えば、印刷するために大きな余白を確保するようページレイアウトの定義をすることができる。製本するためにさらに大きく余白をとることもできる。 次の部分 (page-sequence要素) では、文書データを分割して複数のフローに再構成する。 おのおののフローは、ページレイアウト定義と関連付けられる。 フローは、複数のブロックを含むことができる。 各ブロックには、順番に、テキストデータ、インライン要素、およびテキストデータとインライン要素の混合内容を、含めることができる。 ページの余白の部分にも、ページ番号や章見出しなどを、印字することができる。 XSL-FOとCSSは、良く似ている概念を採用しているが、いくつかの違いもある。ブロックとインライン要素の概念は、CSSと非常に良く似ている。間隔 (padding) と余白 (margin) の規則のいくつかは、CSSと異なる。表記方向 (direction) に関しては、XSL-FO ではページの特性に沿って全て指定することができる。 インラインのテキストなどの表記方向 (「左から右へ」「上から下へ」など) ブロック内のテキスト行などの流し込みの方向 (「上から下へ」「右から左へ」など) このXSL-FOでの表記方向の指定機能により、英語とは異なる方向で文章を記述する慣習のある言語にも対応している。日本語などの縦書きにも対応している。ただしXSL-FO処理系の実装としては、少なくとも1つの表記方向に対応することが必須であり、全ての表記方向に対応する必要は無い。XSL-FOの仕様では、CSS2.1とは異なり、方向に関して表記方向に基づいた用語を採用している。start (前) や end (後) などを使い、left (左) や right (右) などは、出力媒体に直接関わる場合を除いて、使われない。 XSL-FOの基本的な文書内容のマークアップは、CSSおよびそのカスケーディング規則を基にしている。そのためXSL-FO文書で記述した要素の多くの属性は、明示的に上書きしない限り、子要素に継承される。
※この「XSL-FO文書の構造」の解説は、「XSL Formatting Objects」の解説の一部です。
「XSL-FO文書の構造」を含む「XSL Formatting Objects」の記事については、「XSL Formatting Objects」の概要を参照ください。
- XSL-FO文書の構造のページへのリンク