Source for file fo.php
Documentation is available at fo.php
* Questo file permette di generare l'XSL-FO di default che verrą poi usato da Apache FOP
* @desc Generazione dinamica di XSL-FO
* @author M.Marcello Verona
* @copyright 2007 M.Marcello Verona
* @license http://www.gnu.org/licenses/gpl.html GNU Public License
require_once("../inc/conn.php");
require_once("../inc/func.comuni.php");
require_once("../inc/func.frontend.php");
/*function genera_xsl_base($rif_tabella,$solo_visibili=0){
$rif_tabella= $_GET['action'];
// PRENDE LE CARATTERISTICHE DELLA TABELLA
// prende il nome della tabella
<? xml version="1.0" encoding=" UTF-8"?>
< xsl: stylesheet version="2.0" xmlns: xsl=" http:// www. w3. org/1999/ XSL/ Transform" xmlns: fo=" http:// www. w3. org/1999/ XSL/ Format" xmlns: fn=" http:// www. w3. org/2005/ xpath- functions" xmlns: xdt=" http:// www. w3. org/2005/ xpath- datatypes" xmlns: xs=" http:// www. w3. org/2001/ XMLSchema" xmlns: xsi=" http:// www. w3. org/2001/ XMLSchema- instance">
< xsl: output version="1.0" method=" xml" encoding=" UTF-8" indent=" no"/>
< xsl: param name=" SV_OutputFormat" select="' PDF'"/>
< xsl: variable name=" XML" select="/"/>
< xsl: variable name=" fo: layout- master- set">
< fo: simple- page- master master- name=" default- page" page- height="11 in" page- width="8.5 in" margin- left="0.6 in" margin- right="0.6 in">
< fo: region- body margin- top="0.79 in" margin- bottom="0.79 in"/>
< fo: region- after extent="0.79 in"/>
< xsl: variable name=" maxwidth" select="7.30000"/>
< xsl: copy- of select="\$ fo: layout- master- set"/>
< fo: page- sequence master- reference=" default- page" initial- page- number="1" format="1">
< xsl: call- template name=" footerall"/>
< fo: flow flow- name=" xsl- region- body">
< fo: leader leader- pattern=" space"/>
< fo: leader leader- pattern=" space"/>
< fo: block font- size="24 pt" font- weight=" bold">
< fo: block font- size="14 pt">
< xsl: text> $str_tabella</ xsl: text>
< fo: leader leader- pattern=" space"/>
< fo: leader leader- pattern=" space"/>
< fo: leader leader- pattern=" space"/>
< xsl: for- each select="\$ XML">
< xsl: for- each select=" recordset">
< xsl: for- each select=" row">
foreach($cols as $k=> $val){
<fo:leader leader-pattern=\"space\"/>
<xsl:if test=\"$val != ''\">
<fo:leader leader-pattern=\"space\"/>
<xsl:for-each select=\"$val\">
<fo:inline color=\"#0046ff\">
<fo:leader leader-pattern=\"space\"/>
<fo:leader leader-pattern=\"space\"/>
<xsl:for-each select=\"$val\">
<fo:inline font-weight=\"bold\">
< fo: block text- align=" center" space- before. optimum="-8 pt">
< fo: leader leader- pattern=" space"/>
< fo: leader leader- length="100%" leader- pattern=" rule" rule- thickness="1 pt"/>
< xsl: text>&# xA;</ xsl: text>
< fo: leader leader- pattern=" space"/>
< fo: block id=" SV_RefID_PageTotal"/>
< xsl: template name=" footerall">
< xsl: variable name=" maxwidth" select="7.30000"/>
< fo: static- content flow- name=" xsl- region- after">
< xsl: variable name=" tablewidth0" select="\$ maxwidth * 1.00000"/>
< xsl: variable name=" sumcolumnwidths0" select="0.04167 + 0.04167"/>
< xsl: variable name=" defaultcolumns0" select="1 + 1"/>
< xsl: variable name=" defaultcolumnwidth0">
< xsl: when test="\$ defaultcolumns0 & gt; 0">
< xsl: value- of select="(\$ tablewidth0 - \$ sumcolumnwidths0) div \$ defaultcolumns0"/>
< xsl: value- of select="0.000"/>
< xsl: variable name=" columnwidth0_0" select="\$ defaultcolumnwidth0"/>
< xsl: variable name=" columnwidth0_1" select="\$ defaultcolumnwidth0"/>
< fo: table margin- left="0.0 in" margin- right="0.0 in" width=" {\$ tablewidth0}in" border- collapse=" separate" border- separation="0.04167 in" color=" black" display- align=" center" text- align=" left">
< fo: table- column column- width=" {\$ columnwidth0_0}in"/>
< fo: table- column column- width=" {\$ columnwidth0_1}in"/>
< fo: table- cell height="0.31250 in" number- columns- spanned="2" padding- top="0.00000 in" padding- bottom="0.00000 in" padding- left="0.00000 in" padding- right="0.00000 in">
< fo: block padding- top="1 pt" padding- bottom="1 pt"/>
< fo: table- cell number- columns- spanned="2" padding- top="0.00000 in" padding- bottom="0.00000 in" padding- left="0.00000 in" padding- right="0.00000 in">
< fo: block padding- top="1 pt" padding- bottom="1 pt">
< fo: block text- align=" center" space- before. optimum="-8 pt">
< fo: leader leader- length="100%" leader- pattern=" rule" rule- thickness="1 pt" color=" black"/>
< fo: table- cell font- size=" inherited- property- value(& apos; font- size& apos;) - 2 pt" number- columns- spanned="2" text- align=" center" padding- top="0.00000 in" padding- bottom="0.00000 in" padding- left="0.00000 in" padding- right="0.00000 in">
< fo: block padding- top="1 pt" padding- bottom="1 pt">
< fo: inline font- weight=" bold">
< xsl: text> </ xsl: text>
< fo: page- number font- weight=" bold"/>
< xsl: template name=" double- backslash">
< xsl: param name=" text- length"/>
< xsl: variable name=" text- after- bs" select=" substring- after(\$ text, '\')"/>
< xsl: variable name=" text- after- bs- length" select=" string- length(\$ text- after- bs)"/>
< xsl: when test="\$ text- after- bs- length = 0">
< xsl: when test=" substring(\$ text, \$ text- length) = '\'">
< xsl: value- of select=" concat( substring(\$ text,1,\$ text- length - 1), '\\')"/>
< xsl: value- of select="\$ text"/>
< xsl: value- of select=" concat( substring(\$ text,1,\$ text- length - \$ text- after- bs- length - 1), '\\')"/>
< xsl: call- template name=" double- backslash">
< xsl: with- param name=" text" select="\$ text- after- bs"/>
< xsl: with- param name=" text- length" select="\$ text- after- bs- length"/>
|