XSL-FO Blocks(ブロック)
XSL-FOの出力はブロックエリアに位置しています。
XSL-FOページ、フロー、ブロック
内容「ブロック」は「フロー」して「ページ」に入り、その後メディアに出力されます。
XSL-FOの出力は通常<fo:block>要素に組み込まれており、<fo:block>は<fo:flow>要素に組み込まれ、<fo:flow>は<fo:page-sequence>要素に組み込まれています:
<fo:page-sequence> <fo:flow flow-name="xsl-region-body"> <fo:block> <!-- Output goes here --> </fo:block> </fo:flow> </fo:page-sequence>
块区域的属性
块是位于矩形框中的输出序列:
<fo:block border-width="1mm"> 这个输出块周围有一条一毫米的边框。 </fo:block>
由于块区域是矩形框,所以可共享许多公共的区域属性:
- space before 和 space after
- margin
- border
- padding
- space before
图示:

space before 和 space after 是块与块之间起分割作用的空白。
margin 是块外侧的空白区域。
border 的区域外部边缘的矩形。其四个边均可有不同的宽度。它也可被填充为不同的颜色和背景图像。
padding 是位于内容区域与边框之间的区域。
内容区域可包含实际的内容,比如文本、图片、图形等等。
块边距
- margin
- margin-top
- margin-bottom
- margin-left
- margin-right
块边框
边框样式属性:
- border-style
- border-before-style
- border-after-style
- border-start-style
- border-end-style
- border-top-style ((同等に border-before)
- border-bottom-style (同等に border-after)
- border-left-style (同等に border-start)
- border-right-style (同等に border-end)
边框颜色属性:
- border-color
- border-before-color
- border-after-color
- border-start-color
- border-end-color
- border-top-color (同等に border-before)
- border-bottom-color (同等に border-after)
- border-left-color (border-startに等しい)
- border-right-color (border-endに等しい)
枠線幅属性:
- border-width
- border-before-width
- border-after-width
- border-start-width
- border-end-width
- border-top-width (border-beforeに等しい)
- border-bottom-width (border-afterに等しい)
- border-left-width (border-startに等しい)
- border-right-width (border-endに等しい)
ブロックパディング
- padding
- padding-before
- padding-after
- padding-start
- padding-end
- padding-top (padding-beforeに等しい)
- padding-bottom (padding-afterに等しい)
- padding-left (padding-startに等しい)
- padding-right (padding-endに等しい)
ブロック背景
- background-color
- background-image
- background-repeat
- background-attachment (scroll または fixed)
ブロックスタイル属性:
ブロックは独立してスタイル化できる出力シーケンスです:
<fo:block font-size="12pt" font-family="sans-serif"> この出力ブロックは12ptの sans-serif フォントで書かれます。 </fo:block>
フォント属性:
- font-family
- font-weight
- font-style
- font-size
- font-variant
テキスト属性:
- text-align
- text-align-last
- text-indent
- start-indent
- end-indent
- wrap-option (自動改行の定義,word wrap)
- break-before (ページブレイクの定義)
- break-after(分页符、ページブレイクを定義)
- reference-orientation(90"内のテキストの回転を定義)
例
<fo:block font-size="14pt" font-family="verdana" color="red" space-before="5mm" space-after="5mm"> W3School </fo:block> <fo:block text-indent="5mm" font-family="verdana" font-size="12pt" space-before="5mm" space-after="5mm"> CodeW3C.comで、すべてのウェブ構築チュートリアルを見つけることができます 必要で、基本的なHTMLおよびXHTMLから高度なXML、XSL、マルチメディアまで および WAP. </fo:block>
結果:

上の例を見てください。多くのタイトルや段落を持つドキュメントを生成するには、非常に多くのコードが必要になります。
通常、XSL-FO ドキュメントは、私たちが先ほど行ったようにフォーマット情報と内容を組み合わせることはありません。
XSLT の少しの助けで、フォーマット情報をテンプレートに格納し、より純粋な内容を書き出すことができます。
このチュートリアルの後の章で、XSLT テンプレートを使用して XSL-FO を結合する方法を学びます。