| Formattare con Xsl:Fo |
|
|
|
| Scritto da Paolo Barbaglia | |||
|
Nella lezione precedente abbiamo imparato a usare Xsl per formattare un documento Xml e trasformarlo in un documento Html. Oggi impareremo, partendo sempre dal nostro solito documento Xml, a trasformarlo in documento Pdf. Questo speciale tipo di documento può essere elaborato, tramite un motore di formattazione come ad esempio FOP, per essere trasformato in pdf, awt, mif, pcl, ps, txt, svg e at. Alcuni editor xml come "Xml Spy" sono in grado di utilizzare FOP all'interno dei loro ambienti, senza preoccuparvi di scrivere istruzioni da linea di comando. Iniziamo come al solito da un semplice esempio. <?xml version="1.0"?> Come potete vedere il documento xml è molto elementare, ora dobbiamo costruire il documento Xsl per trasformare il documento Xml; dopo la trasformazione otteremo un documento Xsl:Fo. (I marcatori sottolineati sono quelli per la trasformazione) Ecco il file Xsl: <?xml version="1.0"?> Come potete vedere anche se l'esempio è semplice il file per la trasformazione è abbastanza complesso, in quanto contiene 2 tipi differenti di tag; nel namespace dedicato a Xsl:Fo sono presenti 56 differenti oggetti che possono essere associati a 177 diverse proprietà. Alcuni marcatori ve li avevo già presentati quindi non sto qui a riscrivere il loro significato, però vi spiego i nuovi marcatori che vi servono per comporre il file Xsl:Fo. La radice del documento è <fo:root> che può contenere i marcatori <fo:layout-master-set> e <fo:page-sequence>;il primo marcatore identifica i layout disponibili, ciascuno contenute all'interno di un elemento <fo:simple-page-master>. Nell'esempio precedente è presente solo un layout che contiene tutte le informazioni di dimensionamento. L'elemento <fo:simple-page-master> ha un attributo che lo identifica univocamente: master-name="simpleA4", a questo elemento viene associato un attributo: master-reference="simpleA4" che consente di associare un elemento <fo:page-sequence> con il rispettivo <fo:simple-page-master>. L'elemento <fo:page-sequence> contiene la sequenza di pagine associate ad un determinato layout. Al suo interno troviamo l'elemento <fo:flow> che è destinato a contenere tutte le informazioni testuali. Ogni informazione è contenuta negli elementi figli <fo:block>.
Bookmark
Email This
Hits: 163 Trackback(0)
Commenti (0)
![]() Scrivi commento
|









