Blocks (blocco) di XSL-FO

L'output di XSL-FO si trova nella regione di blocco.

Pagina, flusso e blocco di XSL-FO

Il contenuto "blocco" fluisce nella "pagina" e poi viene outputto sul mezzo.

L'output di XSL-FO viene solitamente incluso nell'elemento <fo:block>, che a sua volta è incluso nell'elemento <fo:flow>, che a sua volta è incluso nell'elemento <fo:page-sequence>:

<fo:page-sequence>
  <fo:flow flow-name="xsl-region-body">
    <fo:block>
      <!-- Output va qui -->
    </fo:block>
  </fo:flow>
</fo:page-sequence>

proprietà dell'area del blocco

Il blocco è una sequenza di output situata all'interno della scatola rettangolare:

<fo:block border-width="1mm">
C'è una bordatura di un millimetro intorno a questo blocco di output.
</fo:block>

Poiché l'area del blocco è una scatola rettangolare, può condividere molte proprietà di area comuni:

  • spazio prima e spazio dopo
  • margine
  • bordo
  • padding
  • spazio prima

diagramma:

spazio prima e spazio dopo è l'area bianca che separa i blocchi.

margine è l'area bianca esterna del blocco.

bordo è il rettangolo esterno dell'area. Ogni lato può avere una larghezza diversa. Può anche essere riempito con colori e immagini di sfondo diversi.

padding è l'area situata tra l'area dei contenuti e il bordo.

contenutil'area può contenere contenuti effettivi, come testo, immagini, grafici ecc.

margine-piattaforma

  • margine
  • margine-sopra
  • margine-inferiore
  • margine-sinistra
  • margine-destra

bordo-piattaforma

proprietà dello stile del bordo:

  • stile-bordo
  • stile-bordo-prima
  • stile-bordo-dopo
  • stile-bordo-sinistra
  • stile-bordo-destra
  • stile-bordo-sopra ((equivalente a border-before)
  • stile-bordo-inferiore (equivalente a border-after)
  • stile-bordo-sinistra (equivalente a border-start)
  • stile-bordo-destra (equivalente a border-end)

proprietà del colore del bordo:

  • colore-bordo
  • colore-bordo-prima
  • colore-bordo-dopo
  • colore-bordo-sinistra
  • colore-bordo-destra
  • colore-bordo-sopra (equivalente a border-before)
  • colore-bordo-inferiore (equivalente a border-after)
  • border-left-color (ugual a border-start)
  • border-right-color (ugual a border-end)

proprietà della larghezza del bordo:

  • border-width
  • border-before-width
  • border-after-width
  • border-start-width
  • border-end-width
  • border-top-width (ugual a border-before)
  • border-bottom-width (ugual a border-after)
  • border-left-width (ugual a border-start)
  • border-right-width (ugual a border-end)

riempimento del blocco

  • padding
  • padding-before
  • padding-after
  • padding-start
  • padding-end
  • padding-top (ugual a padding-before)
  • padding-bottom (ugual a padding-after)
  • padding-left (ugual a padding-start)
  • padding-right (ugual a padding-end)

sfondo del blocco

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

Proprietà di stile del blocco:

Questo blocco di output è una sequenza di output che può essere stilizzata singolarmente:

<fo:block
  font-size="12pt"
  font-family="sans-serif">
Questo blocco di output sarà scritto in un font sans-serif di 12pt.
</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 (definisce i simboli di pagina, i salti di pagina)
  • reference-orientation (definisce la rotazione del testo entro 90")

Esempio

<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">
Su CodeW3C.com troverai tutti i tutorial di costruzione del web di cui hai bisogno
bisogno, dal HTML e XHTML di base all'XML, XSL, Multimedialità avanzata
e WAP.
</fo:block>

Risultato:

Vediamo l'esempio sopra, per generare un documento con molti titoli e paragrafi, sarà necessario molto codice.

Di solito, i documenti XSL-FO non combinano informazioni di formattazione e contenuto come abbiamo fatto prima.

Con un po' di aiuto da parte di XSLT, possiamo inserire informazioni di formattazione nei modelli e scrivere contenuti più puliti.

Imparerai come utilizzare i modelli XSLT per combinare XSL-FO nelle sezioni successive di questo tutorial.