Documentazione XSL-FO

I documenti XSL-FO sono file XML con informazioni di output.

Documentazione XSL-FO

I documenti XSL-FO sono file XML con informazioni di output. Contengono informazioni sulla layout e sul contenuto di output.

I documenti XSL-FO sono memorizzati nei file con estensione .fo o .fob. Anche i documenti XSL-FO con estensione .xml sono comuni, il che rende i documenti XSL-FO più facili da accedere con gli editor XML.

Struttura del documento XSL-FO

La struttura del documento XSL-FO è simile a questa:

<?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">
    <!-- La pagina modello va qui -->
  </fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
  <!-- Il contenuto della pagina va qui -->
</fo:page-sequence>
</fo:root>

Spiegazione della struttura

Il documento XSL-FO appartiene ai documenti XML, perché deve iniziare con una dichiarazione XML:

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

L'elemento <fo:root> è l'elemento radice del documento XSL-FO. Questo elemento radice deve anche dichiarare lo spazio dei nomi del XSL-FO:

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
  Questo è il contenuto del documento XSL-FO
</fo:root>

L'elemento <fo:layout-master-set> contiene uno o più schemi di pagina:

<fo:layout-master-set
  <!-- Qui ci sono tutti gli schemi di pagina -->
</fo:layout-master-set>

L'elemento <fo:simple-page-master> contiene un singolo schema di pagina. Ogni modello deve avere un nome unico (master-name):

<fo:simple-page-master master-name="A4">
  <!-- Qui si trova uno schema di pagina -->
</fo:simple-page-master>

Un o più elementi <fo:page-sequence> possono descrivere il contenuto della pagina. L'attributo master-reference utilizza lo stesso nome per riferirsi al modello simple-page-master:

<fo:page-sequence master-reference="A4">
  <!-- Qui si trova il contenuto della pagina -->
</fo:page-sequence>

Nota:Il valore "A4" di master-reference non descrive effettivamente un formato di pagina predefinito. È semplicemente un nome. Puoi usare qualsiasi nome, come "MyPage", "MyTemplate" e così via.