Blocks (blocs) XSL-FO

La sortie XSL-FO se situe dans la zone de bloc.

Page, flux et bloc XSL-FO

Le contenu "bloc" se "stream" dans la "page", puis est sorti sur le support.

L'output XSL-FO est généralement imbriqué dans l'élément <fo:block>, qui est imbriqué dans l'élément <fo:flow>, qui est à son tour imbriqué dans l'élément <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>

propriétés de la zone de bloc

Un bloc est une séquence de sortie située dans un cadre rectangulaire :

<fo:block border-width="1mm">
Il y a une bordure de un millimètre autour de ce bloc de sortie.
</fo:block>

Comme la zone de bloc est un cadre rectangulaire, elle peut partager de nombreuses propriétés de zone communes :

  • espace avant et espace après
  • marge
  • bordure
  • padding
  • espace avant

Illustration :

espace avant et espace après est l'espace vide qui sépare les blocs les uns des autres.

marge est l'espace vide extérieur du bloc.

bordure est un rectangle extérieur à la zone de bordure. Chaque côté peut avoir une largeur différente. Il peut également être rempli de couleurs et d'images de fond différentes.

padding est l'espace situé entre la zone de contenu et la bordure.

contenuLa zone de région peut contenir du contenu réel, par exemple du texte, des images, des graphiques, etc.

marge de bloc

  • marge
  • marge-haut
  • marge-bas
  • marge-gauche
  • marge-droite

bordure de bloc

propriété de style de bordure:

  • style-bord
  • style-avant-bord
  • style-apres-bord
  • style-debut-de-bord
  • style-fin-de-bord
  • style-haut-de-bord ((équivalent à border-before)
  • style-bas-de-bord (équivalent à border-after)
  • style-bord-gauche (équivalent à border-start)
  • style-bord-droit (équivalent à border-end)

propriété de couleur de bordure:

  • couleur-bord
  • couleur-avant-bord
  • couleur-apres-bord
  • couleur-debut-de-bord
  • couleur-fin-de-bord
  • couleur-haut-de-bord (équivalent à border-before)
  • couleur-bas-de-bord (équivalent à border-after)
  • border-left-color (équivalent à border-start)
  • border-right-color (équivalent à border-end)

propriétés de largeur de bordure:

  • border-width
  • border-before-width
  • border-after-width
  • border-start-width
  • border-end-width
  • border-top-width (équivalent à border-before)
  • border-bottom-width (équivalent à border-after)
  • border-left-width (équivalent à border-start)
  • border-right-width (équivalent à border-end)

remplissage de bloc

  • padding
  • padding-before
  • padding-after
  • padding-start
  • padding-end
  • padding-top (équivalent à padding-before)
  • padding-bottom (équivalent à padding-after)
  • padding-left (équivalent à padding-start)
  • padding-right (équivalent à padding-end)

arrière-plan de bloc

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

Propriétés de style de bloc :

Un bloc est une séquence de sortie qui peut être stylisée individuellement :

<fo:block
  font-size="12pt"
  font-family="sans-serif">
Ce bloc de sortie sera écrit en police sans-serif de 12 points.
</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 (définit le saut de page, les breaks de page)
  • reference-orientation (définit le rotation du texte à 90" intérieur)

Exemple

<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">
Sur CodeW3C.com, vous trouverez tous les tutoriels de création de site Web dont vous avez besoin
besoin, de HTML et XHTML de base à XML, XSL, Multimédia avancé
et WAP.
</fo:block>

Résultat :

Voyez l'exemple ci-dessus, pour créer un document avec de nombreux titres et paragraphes, il faudra beaucoup de code.

Généralement, les documents XSL-FO ne combinent pas les informations de formatage et le contenu comme nous l'avons fait tout à l'heure.

Avec un peu d'aide de XSLT, nous pouvons insérer des informations de formatage dans les modèles et écrire un contenu plus pur.

Vous apprendrez comment utiliser les modèles XSLT pour composer XSL-FO dans les chapitres suivants de ce tutoriel.