XSL-FO Bloklar (bloklar)

XSL-FO çıktısı blok bölgesinde yer alır.

XSL-FO sayfa, akış ve blok

İçerik “blok” “sayfa”ya “akar” ve ardından medyaya çıktıya verilir.

XSL-FO çıktı genellikle <fo:block> elementi içinde yerleştirilir, <fo:block> <fo:flow> elementi içinde yerleştirilir, <fo:flow> <fo:page-sequence> elementi içinde yerleştirilir:

<fo:page-sequence>
  <fo:flow flow-name="xsl-region-body">
    <fo:block>
      <!-- Çıktı buraya gelecek -->
    </fo:block>
  </fo:flow>
</fo:page-sequence>

blok alanının özellikleri

blok,矩形状框中的输出序列:

<fo:block border-width="1mm">
Bu çıktı bloğu etrafında bir mil genişliğinde bir çerçeve vardır.
</fo:block>

blok alanı矩形状框,所以可以共享许多公共的区域属性:

  • önceki boşluk ve sonraki boşluk
  • margin
  • border
  • padding
  • önceki boşluk

şekil:

önceki boşluk ve sonraki boşluk bloklar arasındaki ayırıcı rolü oynayan boş alan.

margin bloğun dış kenarındaki boş alan.

border çerçevenin dış kenar çizgisinin dörtgeni. Dört kenarı farklı genişliklerde olabilir. Ayrıca farklı renk ve arka plan görsellerle doldurulabilir.

padding içerik alanı ile çerçeve arasındaki alan.

içerikalan, gerçek içerikleri içerir, örneğin metin, resimler, grafikler vb.

blok marjı

  • margin
  • margin-top
  • margin-bottom
  • margin-left
  • margin-right

blok çerçevesi

çerçeve stili özelliği:

  • border-style
  • border-before-style
  • border-after-style
  • border-start-style
  • border-end-style
  • border-top-style ((eşdeğer border-before)
  • border-bottom-style (eşdeğer border-after)
  • border-left-style (eşdeğer border-start)
  • border-right-style (eşdeğer border-end)

çerçeve rengi özelliği:

  • border-color
  • border-before-color
  • border-after-color
  • border-start-color
  • border-end-color
  • border-top-color (eşdeğer border-before)
  • border-bottom-color (eşdeğer border-after)
  • border-left-color (border-start'e eşittir)
  • border-right-color (border-end'e eşittir)

Kenarlık genişliği özellikleri:

  • border-width
  • border-before-width
  • border-after-width
  • border-start-width
  • border-end-width
  • border-top-width (border-before'e eşittir)
  • border-bottom-width (border-after'e eşittir)
  • border-left-width (border-start'e eşittir)
  • border-right-width (border-end'e eşittir)

Block doldurma

  • padding
  • padding-before
  • padding-after
  • padding-start
  • padding-end
  • padding-top (padding-before'e eşittir)
  • padding-bottom (padding-after'e eşittir)
  • padding-left (padding-start'e eşittir)
  • padding-right (padding-end'e eşittir)

Block arka planı

  • background-color
  • background-image
  • background-repeat
  • background-attachment (scroll veya fixed)

Block stiller özellikleri:

Bu çıktı bloğu, ayrı olarak stilize edilebilir bir çıktı sırasıdır:

<fo:block
  font-size="12pt"
  font-family="sans-serif">
Bu çıktı bloğu 12pt sans-serif yazı tipinde yazılacaktır.
</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 (定义分页符,page breaks)
  • break-after (sayfa kesmeleri, page breaks) tanımlar
  • reference-orientation (90" içindeki metnin dönüşümünü tanımlar)

Örnek

<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'da tüm web sitesi oluşturma eğitimlerini bulacaksınız
ihtiyacınız olan, temel HTML ve XHTML'den ileri düzey XML, XSL, Multimedya'ya kadar
ve WAP.
</fo:block>

Sonuç:

Yukarıdaki örneği görün, birçok başlık ve paragraf içeren bir belge oluşturmak istiyorsanız, çok fazla kod gerekecektir.

Genellikle, XSL-FO belgeleri formatlama bilgilerini ve içeriği birleştirmek için bizim yaptığımız gibi çalışmaz.

XSLT'nin biraz yardımıyla, formatlama bilgilerini şablonlara yerleştirip daha saf içerik yazabiliriz.

Bu eğitim kılavuzunun sonraki bölümlerinde XSLT şablonlarını kullanarak XSL-FO'yu nasıl birleştireceğinizi öğreneceksiniz.