473,320 Members | 1,732 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,320 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 5074
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: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
by: ryjfgjl | last post by:
ExcelToDatabase: batch import excel into database automatically...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: jfyes | last post by:
As a hardware engineer, after seeing that CEIWEI recently released a new tool for Modbus RTU Over TCP/UDP filtering and monitoring, I actively went to its official website to take a look. It turned...
0
by: ArrayDB | last post by:
The error message I've encountered is; ERROR:root:Error generating model response: exception: access violation writing 0x0000000000005140, which seems to be indicative of an access violation...
1
by: PapaRatzi | last post by:
Hello, I am teaching myself MS Access forms design and Visual Basic. I've created a table to capture a list of Top 30 singles and forms to capture new entries. The final step is a form (unbound)...
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: af34tf | last post by:
Hi Guys, I have a domain whose name is BytesLimited.com, and I want to sell it. Does anyone know about platforms that allow me to list my domain in auction for free. Thank you

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.