XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + Use of before and after string (3) Sticky Topic
-> - How do I substitute element ty... (1)
-> + How does one add working days ... (4)
-> - Help, I have existing XLT and... (1)
-> + Need help on XSLT issue - (2)
-> + EDI to XML Conversion (7)
-> - XML To JSON Conversion using X... (1)
-> + Formatting Paragraphs to same ... (2)
-> - Grouping of records (1)
-> + Problems with xsd 1.1 (4)
-> + XML to HL7 mapping (3)
-> + XSLT 3 and Iterate (2)
-> + XSL-FO to PDF preview (3)
-> + java.lang.RuntimeException: Er... (2)
-> + Create Acroforms with Stylus X... (2)
-> + How to change XSLT parameter s... (3)
-> + how to change format of the da... (2)
-> + Search "Next 8 Results " doesn... (2)
-> - Support for Git (1)
-> + newbee (8)
-- [1-20] [21-40] [41-60] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
senthil nathanSubject: Hi without hard code filed name we have to calculate sub total
Author: senthil nathan
Date: 25 Sep 2008 02:44 AM
Hi

i have hard code the field name i get subtotal but i need subtotal without hard code field name

Regards,
ssenthil






<xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'

xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'

xmlns:rs='urn:schemas-microsoft-com:rowset'

xmlns:z='#RowsetSchema'>

<s:Schema id='RowsetSchema'>

<s:ElementType name='row' content='eltOnly' rs:CommandTimeout='30'>

<s:AttributeType name='ows_Attachments' rs:name='Attachments' rs:number='1'>

<s:datatype dt:type='boolean' dt:maxLength='1' />

</s:AttributeType>

<s:AttributeType name='ows_LinkTitle' rs:name='Plan Yearly' rs:number='2'>

<s:datatype dt:type='string' dt:maxLength='512' />

</s:AttributeType>

<s:AttributeType name='ows_Category_x0020_Type' rs:name='Category Type' rs:number='3'>

<s:datatype dt:type='string' dt:lookup='true' dt:maxLength='512' />

</s:AttributeType>

<s:AttributeType name='ows_Category_x0020_Items' rs:name='Category Items' rs:number='4'>

<s:datatype dt:type='string' dt:lookup='true' dt:maxLength='512' />

</s:AttributeType>

<s:AttributeType name='ows_YTD_x0020_Actual' rs:name='YTD Actual' rs:number='5'>

<s:datatype dt:type='float' dt:maxLength='8' />

</s:AttributeType>

<s:AttributeType name='ows_Current_x0020_Month_x0020_Actual' rs:name='Current Month Actual' rs:number='6'>

<s:datatype dt:type='float' dt:maxLength='8' />

</s:AttributeType>

<s:AttributeType name='ows_Variance' rs:name='Variance' rs:number='7'>

<s:datatype dt:type='float' dt:maxLength='8' />

</s:AttributeType>

<s:AttributeType name='ows_ETC' rs:name='ETC' rs:number='8'>

<s:datatype dt:type='float' dt:maxLength='8' />

</s:AttributeType>

</s:ElementType>

</s:Schema>

<rs:data>

<z:row ows_Category_x0020_Type='2;#Capital Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='2000.00000000000' ows_YTD_x0020_Actual='2008.00000000000' ows_Current_x0020_Month_x0020_Actual='10.0000000000000' ows_Variance='800.000000000000' ows_ETC='600.000000000000' />
<z:row ows_Category_x0020_Type='2;#Capital Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='2000.00000000000' ows_YTD_x0020_Actual='2008.00000000000' ows_Current_x0020_Month_x0020_Actual='10.0000000000000' ows_Variance='800.000000000000' ows_ETC='600.000000000000' />

<z:row ows_Category_x0020_Type='2;#Capital Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='3000.00000000000' ows_YTD_x0020_Actual='2008.00000000000' ows_Current_x0020_Month_x0020_Actual='30.0000000000000' ows_Variance='100.000000000000' ows_ETC='100.000000000000' />

<z:row ows_Category_x0020_Type='2;#Capital Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='3000.00000000000' ows_YTD_x0020_Actual='2008.00000000000' ows_Current_x0020_Month_x0020_Actual='30.0000000000000' ows_Variance='100.000000000000' ows_ETC='100.000000000000' />

<z:row ows_Category_x0020_Type='2;#Capital Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='3000.00000000000' ows_YTD_x0020_Actual='2008.00000000000' ows_Current_x0020_Month_x0020_Actual='30.0000000000000' ows_Variance='100.000000000000' ows_ETC='100.000000000000' />

<z:row ows_Category_x0020_Type='1;#Operating Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='2000.00000000000' ows_YTD_x0020_Actual='2008.00000000000' ows_Current_x0020_Month_x0020_Actual='20.0000000000000' ows_Variance='500.000000000000' ows_ETC='300.000000000000' />

<z:row ows_Category_x0020_Type='1;#Operating Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='2000.00000000000' ows_YTD_x0020_Actual='2008.00000000000' ows_Current_x0020_Month_x0020_Actual='20.0000000000000' ows_Variance='100.000000000000' ows_ETC='100.000000000000' />

<z:row ows_Category_x0020_Type='1;#Operating Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='5000.00000000000' ows_YTD_x0020_Actual='3008.00000000000' ows_Current_x0020_Month_x0020_Actual='40.0000000000000' ows_Variance='200.000000000000' ows_ETC='100.000000000000' />
<z:row ows_Category_x0020_Type='1;#Operating Cost' ows_Category_x0020_Items='4;#Misc Expenses' ows_Plan_x0020_Yearly='5000.00000000000' ows_YTD_x0020_Actual='3008.00000000000' ows_Current_x0020_Month_x0020_Actual='40.0000000000000' ows_Variance='200.000000000000' ows_ETC='100.000000000000' />


</rs:data>

</xml>



<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns:rs="urn:schemas-microsoft-com:rowset"
xmlns:z="#RowsetSchema"
exclude-result-prefixes="rs z">

<xsl:output method="html" indent="yes"/>

<xsl:template match="/">
<html>
<head>
<title>Example</title>
</head>
<body>
<xsl:apply-templates select="xml/rs:data"/>
<table border="1" width="100%">
<tr>
<td>
<th colspan="2">Granttotal</th>
</td>

<td>
<xsl:value-of select="sum(//z:row/@ows_Plan_x0020_Yearly)" />
</td>
<td>
<xsl:value-of select="sum(//z:row/@ows_YTD_x0020_Actual)" />
</td>
<td>
<xsl:value-of select="sum(//z:row/@ows_Current_x0020_Month_x0020_Actual)" />
</td>
<td>
<xsl:value-of select="sum(//z:row/@ows_Variance)" />
</td>
<td>
<xsl:value-of select="sum(//z:row/@ows_ETC)" />
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="rs:data">
<table border="1">
<thead>
<tr>
<th>Category Type</th>
<th>Item Name</th>
<th>Plan yearly</th>
<th>YTD Actual</th>
<th>Current Month <br/>Actual</th>
<th>Variance</th>
<th>Estimation To <br/>Completion ETC</th>
</tr>
</thead>
<xsl:apply-templates select="z:row[1]" mode="group"/>
</table>
</xsl:template>
<xsl:template match="z:row" mode="group">
<tbody>
<xsl:apply-templates select="." mode="row"/>
</tbody>
<xsl:apply-templates select="following-sibling::z:row[not(@ows_Category_x0020_Type = current()/@ows_Category_x0020_Type)][1]" mode="group"/>
</xsl:template>
<xsl:template match="z:row" mode="row">
<xsl:param name="stotal-plan-yearly" select="0"/>
<xsl:param name="stotal-ytd-actual" select="0"/>
<xsl:param name="stotal-current-month" select="0"/>
<xsl:param name="stotal-variance" select="0"/>
<xsl:param name="stotal-etc" select="0"/>
<tr>
<td>
<xsl:value-of select="substring-after(@ows_Category_x0020_Type, ';#')"/>
</td>
<td>
<xsl:value-of select="substring-after(@ows_Category_x0020_Items, ';#')"/>
</td>
<td>
<xsl:value-of select="@ows_Plan_x0020_Yearly"/>
</td>
<td>
<xsl:value-of select="@ows_YTD_x0020_Actual"/>
</td>
<td>
<xsl:value-of select="@ows_Current_x0020_Month_x0020_Actual"/>
</td>
<td>
<xsl:value-of select="@ows_Variance"/>
</td>
<td>
<xsl:value-of select="@ows_ETC"/>
</td>
</tr>
<xsl:apply-templates select="following-sibling::z:row[1][@ows_Category_x0020_Type = current()/@ows_Category_x0020_Type]" mode="row">
<xsl:with-param name="stotal-plan-yearly" select="number($stotal-plan-yearly +@ows_Plan_x0020_Yearly)"/>
<xsl:with-param name="stotal-ytd-actual" select="number($stotal-ytd-actual +@ows_YTD_x0020_Actual)"/>
<xsl:with-param name="stotal-current-month" select="number($stotal-current-month +@ows_Current_x0020_Month_x0020_Actual)"/>
<xsl:with-param name="stotal-variance" select="number($stotal-variance +@ows_Variance)"/>
<xsl:with-param name="stotal-etc" select="number($stotal-etc +@ows_ETC)"/>
</xsl:apply-templates>
<xsl:if test="not(following-sibling::z:row[1][@ows_Category_x0020_Type = current()/@ows_Category_x0020_Type])">
<tr>
<th colspan="2">Subtotal</th>
<td>
<xsl:value-of select="$stotal-plan-yearly + @ows_Plan_x0020_Yearly"/>
</td>
<td>
<xsl:value-of select="$stotal-ytd-actual + @ows_YTD_x0020_Actual"/>
</td>
<td>
<xsl:value-of select="$stotal-current-month + @ows_Current_x0020_Month_x0020_Actual"/>
</td>
<td>
<xsl:value-of select="$stotal-variance + @ows_Variance"/>
</td>
<td>
<xsl:value-of select="$stotal-etc + @ows_ETC"/>
</td>
</tr>

</xsl:if>

</xsl:template>



</xsl:stylesheet>


i have hard code the field name i get subtotal but i need subtotal without hard code field name

Posttop
Tony LavinioSubject: Hi without hard code filed name we have to calculate sub total
Author: Tony Lavinio
Date: 25 Sep 2008 05:13 PM
Which version of Stylus Studio are you using?
Within Stylus Studio, which XSLT processor?

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.