Dokumentacja XSL-FO

Dokumenty XSL-FO to pliki XML zawierające informacje o wyjściu.

Dokumentacja XSL-FO

Dokumenty XSL-FO to pliki XML zawierające informacje o wyjściu. Zawierają informacje o układzie oraz zawartości wyjścia.

Dokumenty XSL-FO są przechowywane w plikach o rozszerzeniu .fo lub .fob. Również常见 do przechowywania dokumentów XSL-FO z rozszerzeniem .xml, co ułatwia dostęp do dokumentów XSL-FO za pomocą edytorów XML.

Struktura dokumentu XSL-FO

Struktura dokumentu XSL-FO wygląda podobnie:

<?xml version="1.0" encoding="ISO-8859-1"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
  <fo:simple-page-master master-name="A4">
    <!-- Szablon strony umieszczony tutaj -->
  </fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
  <!-- Treść strony umieszczona tutaj -->
</fo:page-sequence>
</fo:root>

Wyjaśnienie struktury

Dokument XSL-FO należy do dokumentów XML, ponieważ również musi zaczynać się od deklaracji XML:

<?xml version="1.0" encoding="ISO-8859-1"?>

Element <fo:root> jest głównym elementem dokumentu XSL-FO. Ten główny element musi również deklarować przestrzeń nazw XSL-FO:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  <!-- Oto jest zawartość dokumentu XSL-FO -->
</fo:root>

Element <fo:layout-master-set> zawiera jeden lub kilka szablonów stron:

<fo:layout-master-set>
  <!-- Tutaj są wszystkie szablony stron -->
</fo:layout-master-set>

Element <fo:simple-page-master> zawiera jeden szablon strony. Każdy szablon musi mieć unikalną nazwę (master-name):

<fo:simple-page-master master-name="A4">
  <!-- Tutaj jest szablon strony -->
</fo:simple-page-master>

Jeden lub kilka elementów <fo:page-sequence> może opisać zawartość strony. Atrybut master-reference używa tej samej nazwy do odniesienia się do szablonu simple-page-master:

<fo:page-sequence master-reference="A4">
  <!-- Tutaj jest zawartość strony -->
</fo:page-sequence>

Komentarz:Komentarz: wartość "A4" master-reference nie opisuje rzeczywistego formatu strony predefiniowanej. Jest to tylko nazwa. Możesz użyć dowolnej nazwy, np. "MyPage", "MyTemplate" itp.