XSL-FO Sayfa

XSL-FO, "Sayfa Anahtarları" adlı sayfa şablonunu kullanarak sayfa düzenini tanımlar.

XSL-FO Sayfa Şablonu

XSL-FO, "Sayfa Anahtarları" adlı sayfa şablonunu kullanarak sayfa düzenini tanımlar. Her şablonun benzersiz bir adı olmalıdır:

<fo:simple-page-master master-name="intro">
  <fo:region-body margin="5in" />
</fo:simple-page-master>
<fo:simple-page-master master-name="left">
  <fo:region-body margin-left="2in" margin-right="3in" />
</fo:simple-page-master>
<fo:simple-page-master master-name="right">
  <fo:region-body margin-left="3in" margin-right="2in" />
</fo:simple-page-master>

Yukarıdaki örnekte, üç <fo:simple-page-master> elementi, üç farklı şablon tanımlar. Her şablon (page-master), farklı bir adıdır.

İlk şablon adı "intro"dır. Bu şablon, sayfa tanıtımı olarak kullanılabilir.

İkinci ve üçüncü şablon adları "sol" ve "sağ"dır. Bu şablonlar çift ve tek sayfa numaralarına sahip sayfalar için kullanılabilir.

XSL-FO Sayfa Boyutları

XSL-FO, sayfa boyutlarını tanımlamak için aşağıdaki özellikleri kullanır:

page-width
Sayfanın Genişliğini Tanımlama
page-height
Sayfanın Yüksekliğini Tanımlama

XSL-FO Sayfa Kenar Boşlukları

XSL-FO, sayfa kenar boşluklarını tanımlamak için aşağıdaki özellikleri kullanır:

margin-top
Üst Kenar Boşluğu Tanımlama
margin-bottom
Alt Kenar Boşluğu Tanımlama
margin-left
Sol Kenar Boşluğu Tanımlama
margin-right
Sağ Kenar Boşluğu Tanımlama
margin
Tüm Kenarların Kenar Boşluklarını Tanımlama

XSL-FO Sayfa Bölgeleri (Page Regions)

XSL-FO, sayfanın bölgelerini tanımlamak için aşağıdaki elementleri kullanır:

region-body
Ana Bölge Tanımlanması
region-before
Üst Bölge (Sayfa Başlığı) Tanımlanması
region-after
Alt Bölge (Sayfa Aşığı) Tanımlanması
region-start
Sol Bölge (Sol Kenar) Tanımlanması
region-end
Sağ Bölge (Sağ Kenar) Tanımlanması

Açıklama:region-before、region-after、region-start ve region-end, ana bölge parçasıdır. Ana bölge metninin bu bölgelere karışmaması için, ana bölgenin kenar boşlukları en az diğer bölgelerin boyutlarına eşit olmalıdır.

Görsel:

XSL-FO Örneği

Bu, bir XSL-FO belgesinden çıkarılmış bir parçadır:

<fo:simple-page-master master-name="A4">
 page-width="297mm" page-height="210mm"
 margin-top="1cm"   margin-bottom="1cm"
 margin-left="1cm"  margin-right="1cm">
  <fo:region-body   margin="3cm"/>
  <fo:region-before extent="2cm"/>
  <fo:region-after  extent="2cm"/>
  <fo:region-start  extent="2cm"/>
  <fo:region-end    extent="2cm"/>
</fo:simple-page-master>

Yukarıdaki kod, "A4" adlı "Simple Page Master Template"'ı tanımlar.

Sayfanın genişliği 297 mm, yüksekliği 210 mm'dir.

Sayfanın dört yan marjı 1 cm'dir.

Ana bileşenin marjı 3 cm'dir (dört yanı).

before, after, start ve end bölgeleri 2 cm'dir.

Yukarıdaki örnekteki ana bileşenin genişliği, sayfa genişliği ile sağ ve sol marjlar ve region-body marjlarından çıkarılarak hesaplanabilir:

297mm - (2 x 1cm) - (2 x 3cm) = 297mm - 20mm - 60mm = 217mm.

Açıklama:region (region-start ve region-end) hesaba katılmamıştır. Daha önce açıkladığımız gibi, bu bölgeler (region) ana bileşenlerdir.