1
<?xml version="1.0" encoding="utf-8"?>
2
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
4
<xsl:template match="/">
5
<document xmlns:fo="http://www.w3.org/1999/XSL/Format">
6
<template leftMargin="2.0cm" rightMargin="2.0cm" topMargin="2.0cm"
7
bottomMargin="2.0cm" title="Bill of material"
8
author="Generated by Tiny ERP" allowSplitting="20">
9
<xsl:for-each select="/boms/bom">
11
<xsl:attribute name="id">
12
<xsl:value-of select="position()" />
16
<place x="1cm" y="1.5cm" width="19cm" height="3cm">
17
<blockTable colWidths="11cm,4cm,4cm" style="cadre">
21
<xsl:value-of select="name" />
23
<spacer length="5mm" />
25
<xsl:value-of select="product" />
30
<xsl:text>N° </xsl:text><xsl:value-of select="id" />
37
select="revision[last()]/indice" />
44
<frame id="list" x1="1cm" y1="1.0cm" width="19.0cm" height="24.5cm" />
49
<paraStyle name="huge" fontSize="15" />
50
<blockTableStyle id="bom">
51
<blockValign value="TOP" />
52
<blockTextColor colorName="white" start="0,0" stop="-1,0" />
53
<blockBackground colorName="grey" start="0,0" stop="-1,0" />
54
<lineStyle kind="LINEABOVE" thickness="0.5" start="0,0"
55
stop="-1,0" colorName="black" />
56
<lineStyle kind="LINEBELOW" thickness="0.5" colorName="black" />
57
<lineStyle kind="LINEBEFORE" thickness="0.5" colorName="black" />
58
<lineStyle kind="LINEAFTER" thickness="0.5" colorName="black" />
61
<blockTableStyle id="cadre">
62
<blockValign value="TOP" />
63
<lineStyle kind="LINEABOVE" thickness="0.5" start="0,0"
64
stop="-1,0" colorName="black" />
65
<lineStyle kind="LINEBELOW" thickness="0.5" colorName="black" />
66
<lineStyle kind="LINEBEFORE" thickness="0.5" colorName="black" />
67
<lineStyle kind="LINEAFTER" thickness="0.5" colorName="black" />
70
<blockTableStyle id="cadre2">
71
<blockValign value="TOP" />
72
<lineStyle kind="LINEBELOW" thickness="0.5" colorName="black" start="0,0" stop="-1,-2"/>
76
<xsl:apply-templates select="/boms/bom" />
82
<xsl:template match="bom">
83
<blockTable repeatRows="1" colWidths="1.5cm,1.5cm,8cm,4cm"
91
<xsl:for-each select="bom-line">
94
<xsl:value-of select="pos" />
97
<xsl:value-of select="qty" />
100
<xsl:value-of select="name" />
106
<blockTable colWidths="11cm,4cm,4cm" style="cadre">
109
<blockTable colWidths="1cm,5cm,2cm,2cm"
113
<td>Modification</td>
117
<xsl:for-each select="revision">
120
<xsl:value-of select="indice" />
123
<xsl:value-of select="modif" />
126
<xsl:value-of select="author" />
129
<xsl:value-of select="date" />
137
<xsl:text>Date </xsl:text>
140
<xsl:value-of select="date" />
144
<xsl:text>Page </xsl:text>
149
<xsl:if test="position() < count(/boms/bom)">
151
<xsl:attribute name="name">
152
<xsl:value-of select="position()+1" />