473,392 Members | 1,355 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,392 software developers and data experts.

addition with xsl fo

178 100+
Hi,

Im a little out of my depth using xsl fo here. I have a table of items and each has a price in the second row of the table. I need to display a total at the bottom of the row. My problem is that I can't work out how to perform addition in xsl fo.

Here's my xsl file where I have created the table.
Expand|Select|Wrap|Line Numbers
  1. <!-- Nextpage: Quote -->
  2.                <fo:block break-before="page" space-before="2in" space-after="2in">
  3.  
  4.                  <fo:block text-align="center" space-before="2cm">
  5.                 Panels
  6.                 </fo:block>
  7.                 <fo:table space-before="1cm">
  8.                   <fo:table-body>
  9.                   <xsl:for-each select="quote/panels/panel">
  10.                         <fo:table-row>
  11.                       <fo:table-cell padding="6pt">
  12.                         <fo:block text-align="start"><xsl:value-of select="panel_name"/></fo:block>
  13.                       </fo:table-cell>
  14.                       <fo:table-cell padding="6pt">
  15.                         <fo:block text-align="end" space-after="2cm"><xsl:value-of select="totalcost"/></fo:block>
  16.                       </fo:table-cell>
  17.                     </fo:table-row>
  18.                     </xsl:for-each>
  19.                     <fo:table-row>
  20.                         <fo:table-cell>
  21.                             <fo:block text-align="start" font-weight="bold" border-top="0.5pt solid red">Sub Total</fo:block>
  22.                         </fo:table-cell>
  23.                         <fo:table-cell>
  24.                             <fo:block font-weight="bold" text-align="end" border-top="0.5pt solid red"></fo:block>
  25.                         </fo:table-cell>
  26.                         </fo:table-row>
  27.                         </fo:table-body>
  28.                 </fo:table>
I need to add all the <xsl:value-of select="totalcost"/> values to get the total

Thanks in advance
Dec 17 '08 #1
5 5083
Dormilich
8,658 Expert Mod 8TB
@cleary1981
XSL-FO is for layouting. use XSL for the computation (esp. the XPath functions (e.g. sum()))) .

regards
Dec 17 '08 #2
cleary1981
178 100+
could you show me how?
Dec 17 '08 #3
Dormilich
8,658 Expert Mod 8TB
Expand|Select|Wrap|Line Numbers
  1. <xsl:value-of select="sum(quote/panels/panel/totalcost)"/>
(didn't try it, but that's the syntax)
Dec 17 '08 #4
cleary1981
178 100+
Yeah that is exactly what I was looking for. I just add that into my code like so

Expand|Select|Wrap|Line Numbers
  1. <!-- Nextpage: Quote -->
  2.                <fo:block break-before="page" space-before="2in" space-after="2in">
  3.  
  4.                  <fo:block text-align="center" space-before="2cm">
  5.                 Panels
  6.                 </fo:block>
  7.                 <fo:table space-before="1cm">
  8.                   <fo:table-body>
  9.                   <xsl:for-each select="quote/panels/panel">
  10.                         <fo:table-row>
  11.                       <fo:table-cell padding="6pt">
  12.                         <fo:block text-align="start"><xsl:value-of select="panel_name"/></fo:block>
  13.                       </fo:table-cell>
  14.                       <fo:table-cell padding="6pt">
  15.                         <fo:block text-align="end" space-after="2cm"><xsl:value-of select="totalcost"/></fo:block>
  16.                       </fo:table-cell>
  17.                     </fo:table-row>
  18.                     </xsl:for-each>
  19.                     <fo:table-row>
  20.                         <fo:table-cell>
  21.                             <fo:block text-align="start" font-weight="bold" border-top="0.5pt solid red">Sub Total</fo:block>
  22.                         </fo:table-cell>
  23.                         <fo:table-cell>
  24.                             <fo:block font-weight="bold" text-align="end" border-top="0.5pt solid red"><xsl:value-of select="sum(quote/panels/panel/totalcost)"/></fo:block>
  25.                         </fo:table-cell>
  26.                         </fo:table-row>
  27.                         </fo:table-body>
  28.                 </fo:table>
Dec 17 '08 #5
Dormilich
8,658 Expert Mod 8TB
bear in mind that the XPath I used is a guess (though I hope a good one).
Dec 17 '08 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

3
by: Mark Dickinson | last post by:
Can anyone either reproduce or explain the following apparently inconsistent behaviours of __add__ and __mul__? The class Gaussian provides a sub-bare-bones implementation of Gaussian integers (a...
7
by: jeffbernstein | last post by:
Greetings. I'm reading "How to think like a computer scientist: Learning with Python" and there's a question regarding string operations. The question is, "Can you think of a property that...
3
by: Jay | last post by:
I have two strings that instead of adding them together to get the sum the are concatenating together. Does anyone know how I can get these two to add. while not rstemp4.eof vservdate =...
2
by: akickdoe22 | last post by:
i could really use help finishing this addition program. I'm stuck on the part that allows you to add any two large integers,up to 100 digits,(pos+pos, neg+neg, and pos+neg). could use hints ideas...
24
by: Alex Vinokur | last post by:
Consider the following statement: n+i, where i = 1 or 0. Is there more fast method for computing n+i than direct computing that sum? -- Alex Vinokur email: alex DOT vinokur AT gmail DOT...
34
by: Andy | last post by:
Hi, Are 1 through 4 defined behaviors in C? unsigned short i; unsigned long li; /* 32-bit wide */ 1. i = 65535 + 3; 2. i = 1 - 3; 3. li = (unsigned long)0xFFFFFFFF + 3; 4. li = 1...
3
by: snow.carriers | last post by:
Let me first state that I'm using Borland Turbo C++, it's relatively old so the new string methods won't work. Anyways, first I'm trying to collect a line of a string (with numbers, letters,...
5
by: Mike | last post by:
Hello All, Please, if anyone can point me to the problem, I'd sure appreciate it! I am very new to VB programming and not a programmer to begin with. This is part of a Visual Basic 2005 Express...
5
by: Paul | last post by:
Why is the addition here adding the number as a string but the subtraction works fine? function boxchange(box) { iv= dbform.ut.value if (box.checked == true) { iv = iv - box.value } else {...
3
by: srinivas33034 | last post by:
Hi there, my problem is i have to perform addition dyamically My req is i have 3 txt boxes.. and another text box to display total additon.. as i am entering the values in TextBox1 i want...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.