Добрый день
В XSLT новичок
сделал XSLT для преобразований XML oracle bi publisher в XML workbook 2003 Excel
Но работает жутко медленно. не могли бы вы подсказать, что и где можно подкрутить?
Что интересно в XML Spy xslt отрабатывает быстрее чем на 4 процессорном сервере.
Есть ли в природе хорошие онлайн пособия по оптимизации xslt ?
Заранее благодарю
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ora="http://www.oracle.com/XSL/Transform/java/" xmlns:xdofo="http://xmlns.oracle.com/oxp/fo/extensions" xmlns:xdoxslt="http://www.oracle.com/XSL/Transform/java/oracle.apps.xdo.template.rtf.XSLTFunctions" xmlns:xdoxliff="urn:oasis:names:tc:xliff:document:1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:msxsl="urn:schemas-microsoft-com:xslt">
<xsl:template match="/">
<xsl:processing-instruction name="mso-application">
<xsl:text>progid="Excel.Sheet"</xsl:text>
</xsl:processing-instruction>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">
<ss:Styles>
<ss:Style ss:ID="x1">
<ss:Font ss:Color="black" ss:Size="10" ss:FontName="Arial"/>
</ss:Style>
<ss:Style ss:ID="xdo2">
<ss:Font ss:Color="black" ss:Size="10" ss:FontName="Arial"/>
<ss:NumberFormat Format="$#,##0;[Red]$#,##0" Bold="0"/>
</ss:Style>
<Style ss:ID="s3">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Times New Roman" x:CharSet="204" x:Family="Roman" ss:Bold="1"/>
<Interior ss:Color="#CCCCCC" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="Default" ss:Name="Normal">
<Alignment ss:Vertical="Bottom"/>
<Borders/>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#000000"/>
<Interior/>
<NumberFormat/>
<Protection/>
</Style>
<Style ss:ID="s18" ss:Name="Акцент1">
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFFFFF"/>
<Interior ss:Color="#5B9BD5" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s60" ss:Name="Процентный">
<NumberFormat ss:Format="0%"/>
</Style>
<Style ss:ID="m151685352" ss:Parent="s18">
<Alignment ss:Horizontal="Center" ss:Vertical="Bottom" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFFFFF" ss:Bold="1"/>
</Style>
<Style ss:ID="s61">
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s62">
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#000000" ss:Bold="1"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s63">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#000000" ss:Bold="1"/>
<Interior ss:Color="#A6A6A6" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Short Date"/>
</Style>
<Style ss:ID="s64">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="#,##0"/>
</Style>
<Style ss:ID="s111">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Fixed"/>
</Style>
<Style ss:ID="s65">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFFFFF" ss:Bold="1"/>
<Interior ss:Color="#A6A6A6" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s66">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s67" ss:Parent="s60">
<Alignment ss:Horizontal="Left" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#00B050"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Percent"/>
</Style>
<Style ss:ID="s68">
<Alignment ss:Horizontal="Left" ss:Vertical="Bottom" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#00B050"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s69">
<Alignment ss:Horizontal="Left" ss:Vertical="Bottom" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFC000"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s70">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Interior/>
<NumberFormat ss:Format="#,##0"/>
</Style>
<Style ss:ID="s71">
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FF0000"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s72">
<Alignment ss:Horizontal="Left" ss:Vertical="Bottom" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#C00000"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s74">
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#00B050" ss:Bold="1"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Percent"/>
</Style>
<Style ss:ID="s75">
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#C00000" ss:Bold="1"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Percent"/>
</Style>
<Style ss:ID="s76" ss:Parent="s60">
<Alignment ss:Horizontal="Left" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#00B050"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Percent"/>
</Style>
<Style ss:ID="s77">
<Borders>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#00B050" ss:Bold="1"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Percent"/>
</Style>
<Style ss:ID="s78">
<Borders>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#C00000" ss:Bold="1"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="Percent"/>
</Style>
<Style ss:ID="s79" ss:Parent="s18">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFFFFF" ss:Bold="1"/>
<NumberFormat ss:Format="#,##0"/>
</Style>
<Style ss:ID="s86" ss:Parent="s18">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFFFFF" ss:Bold="1"/>
<NumberFormat ss:Format="#,##0"/>
</Style>
<Style ss:ID="s87">
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
<Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FF0000"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s88">
<Alignment ss:Horizontal="Left" ss:Vertical="Bottom" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFC000"/>
<Interior/>
</Style>
<Style ss:ID="s89">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
<NumberFormat ss:Format="0.0%"/>
</Style>
<Style ss:ID="s98" ss:Parent="s18">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFFFFF" ss:Bold="1"/>
<NumberFormat ss:Format="Short Date"/>
</Style>
<Style ss:ID="s99" ss:Parent="s18">
<Alignment ss:Horizontal="Center" ss:Vertical="Center" ss:WrapText="1"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#C00000" ss:Bold="1"/>
<NumberFormat ss:Format="Short Date"/>
</Style>
<Style ss:ID="s102" ss:Parent="s18">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFFFFF" ss:Bold="1"/>
</Style>
<Style ss:ID="s104">
<Alignment ss:Horizontal="Left" ss:Vertical="Bottom"/>
<Interior ss:Color="#FFFFFF" ss:Pattern="Solid"/>
</Style>
<Style ss:ID="s105" ss:Parent="s18">
<Alignment ss:Horizontal="Center" ss:Vertical="Center"/>
<Borders>
<Border ss:Position="Bottom" ss:LineStyle="Continuous"/>
<Border ss:Position="Left" ss:LineStyle="Continuous"/>
<Border ss:Position="Right" ss:LineStyle="Continuous"/>
<Border ss:Position="Top" ss:LineStyle="Continuous"/>
</Borders>
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="11" ss:Color="#FFFFFF" ss:Bold="1"/>
<NumberFormat ss:Format="Short Date"/>
</Style>
<Style ss:ID="s110">
<Interior ss:Color="#FF6699" ss:Pattern="Solid"/>
</Style>
</ss:Styles>
<!-- <xsl:apply-templates select="DATA_DS"/>-->
<!-- </xsl:template>
<xsl:template match="DATA_DS">-->
<xsl:variable name="var_first_day" select="/DATA_DS/G_5/D_B"/>
<xsl:for-each select="/DATA_DS/G_1">
<xsl:variable name="var_camp" select="CAMPAIGN_ID"/>
<Worksheet ss:Name="{./CAMP_NAME}">
<Table ss:ExpandedRowCount="24" x:FullColumns="1" x:FullRows="1" ss:StyleID="s61" ss:DefaultRowHeight="15">
<Column ss:StyleID="s61" ss:Width="24"/>
<Column ss:StyleID="s61" ss:AutoFitWidth="0" ss:Width="312.75"/>
<Column ss:StyleID="s61" ss:AutoFitWidth="0" ss:Width="53.25"/>
<Column ss:StyleID="s61" ss:AutoFitWidth="0" ss:Width="105"/>
<Column ss:StyleID="s61" ss:AutoFitWidth="0" ss:Width="53.25" ss:Span="4"/>
<Column ss:Index="11" ss:StyleID="s61" ss:Width="109.5"/>
<Column ss:StyleID="s61" ss:Width="90.75"/>
<!--header begin-->
<Row/>
<Row/>
<Row>
<Cell ss:StyleID="s102" ss:MergeAcross="1">
<Data ss:Type="String">Дата</Data>
</Cell>
<!--ss:MergeDown="1"-->
<Cell ss:StyleID="s98">
<Data ss:Type="String">Средний % за</Data>
</Cell>
<Cell ss:StyleID="s99">
<Data ss:Type="String">MAX % за</Data>
</Cell>
<!-- заголовок - выводим даты-->
<xsl:for-each select="/DATA_DS/G_3/D_D">
<Cell ss:StyleID="s105" ss:MergeAcross="1">
<Data ss:Type="String">
<xsl:value-of select="."/>
</Data>
</Cell>
</xsl:for-each>
</Row>
<Row>
<Cell ss:StyleID="s65">
<Data ss:Type="String">
Код
</Data>
</Cell>
<Cell ss:StyleID="s65">
<Data ss:Type="String">
Расшифровка
</Data>
</Cell>
<Cell ss:StyleID="s63">
<Data ss:Type="String">
Средний % за
</Data>
</Cell>
<Cell ss:StyleID="s63">
<Data ss:Type="String">
MAX % за
</Data>
</Cell>
<!-- заголовок - выводим строки кол-во - Даты-->
<xsl:for-each select="/DATA_DS/G_3/D_D">
<Cell ss:StyleID="s63">
<Data ss:Type="String">Кол-во</Data>
</Cell>
<Cell ss:StyleID="s63">
<Data ss:Type="String">%</Data>
</Cell>
</xsl:for-each>
</Row>
<!--header end-->
<xsl:for-each select="/DATA_DS/G_4">
<!--по строкам-->
<xsl:variable name="var_val" select="./VAL"/>
<!--<xsl:for-each select="/DATA_DS/G_4/DIALER_STATUS_NAME"/>-->
<xsl:variable name="var_status" select="./DIALER_STATUS_NAME"/>
<!--<xsl:variable name="var_val" select="VAL"/>-->
<Row>
<!--Левые статич колонки-->
<Cell ss:StyleID="s66">
<Data ss:Type="Number">
<xsl:value-of select="$var_val"/>
</Data>
</Cell>
<Cell ss:StyleID="x1">
<Data ss:Type="String">
<xsl:value-of select="$var_status"/>
</Data>
</Cell>
<!--Begin Итоговые средние и максимальное-->
<Cell ss:StyleID="s111">
<Data ss:Type="Number">
<xsl:value-of select="/DATA_DS/G_1/G_2[VAL = $var_val and D_D_CHAR = $var_first_day and CAMPAIGN_ID=$var_camp]/AVG_PRC"/>
</Data>
</Cell>
<Cell ss:StyleID="s111">
<Data ss:Type="Number">
<xsl:value-of select="/DATA_DS/G_1/G_2[VAL = $var_val and D_D_CHAR = $var_first_day and CAMPAIGN_ID=$var_camp]/MAX_PRC"/>
</Data>
</Cell>
<!--End Итоговые средние и максимальное-->
<!--Левые статич колонки-->
<!--Begin выводим основные данные-->
<xsl:for-each select="/DATA_DS/G_3/D_D">
<!--побежали по датам-->
<xsl:variable name="var_dd" select="."/>
<Cell ss:StyleID="s64">
<Data ss:Type="Number">
<!-- <xsl:value-of select="$var_camp"/>
val
<xsl:value-of select="$var_val"/>
rrrr
<xsl:value-of select="$var_dd"/>
cnt=-->
<xsl:value-of select="/DATA_DS/G_1/G_2[VAL = $var_val and D_D_CHAR = $var_dd and CAMPAIGN_ID=$var_camp]/CNT"/>
</Data>
</Cell>
<!--подкраска здесь-->
<xsl:variable name="var_is_color" select="/DATA_DS/G_1/G_2[VAL = $var_val and D_D_CHAR = $var_dd and CAMPAIGN_ID=$var_camp]/IS_COLOR"/>
<xsl:variable name="CrStl">
<xsl:choose>
<xsl:when test="$var_is_color=0">
<xsl:value-of select="'s111'"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'s110'"/>
</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<!--выводим значение суммы в текущем разрезе учетного и расчетного периода -->
<Cell ss:StyleID="{$CrStl}">
<Data ss:Type="Number">
<xsl:value-of select="/DATA_DS/G_1/G_2[VAL = $var_val and D_D_CHAR = $var_dd and CAMPAIGN_ID=$var_camp]/PRC"/>
</Data>
</Cell>
</xsl:for-each>
<!--End выводим основные данные-->
</Row>
</xsl:for-each>
<Row ss:StyleID="s62">
<!--Begin нижняя строка итога-->
<Cell ss:StyleID="s102" ss:MergeAcross="1">
<Data ss:Type="String">Итого</Data>
</Cell>
<Cell ss:StyleID="s102">
<Data ss:Type="String">
</Data>
</Cell>
<Cell ss:StyleID="s102">
<Data ss:Type="String">
</Data>
</Cell>
<xsl:for-each select="/DATA_DS/G_3/D_D">
<xsl:variable name="var_n_dd" select="."/>
<!--побежали по датам-->
<Cell ss:StyleID="s79">
<Data ss:Type="Number">
<xsl:value-of select="/DATA_DS/G_1/G_2[ORD=1 and D_D_CHAR = $var_n_dd and CAMPAIGN_ID=$var_camp]/SUM_CNT"/>
</Data>
</Cell>
<Cell ss:StyleID="s79">
<Data ss:Type="Number">
</Data>
</Cell>
</xsl:for-each>
<!--End нижняя строка итога-->
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<PageSetup>
<Header x:Margin="0.3"/>
<Footer x:Margin="0.3"/>
<PageMargins x:Bottom="0.75" x:Left="0.7" x:Right="0.7" x:Top="0.75"/>
</PageSetup>
<Print>
<ValidPrinterInfo/>
<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>600</VerticalResolution>
</Print>
<Selected/>
<FreezePanes/>
<FrozenNoSplit/>
<SplitVertical>2</SplitVertical>
<LeftColumnRightPane>2</LeftColumnRightPane>
<ActivePane>1</ActivePane>
<Panes>
<Pane>
<Number>3</Number>
</Pane>
<Pane>
<Number>1</Number>
<ActiveRow>14</ActiveRow>
<ActiveCol>1</ActiveCol>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</xsl:for-each>
</Workbook>
</xsl:template>
</xsl:stylesheet>