[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Re: Re: How to Calculate Running Total using Varia
Dimitre, Thank you for helping me. I am sorry for not removed excess code from my stylesheet. I thought you were asking for more xml, not less xsl. I have examined your example code provided in your last email, and it appears that my code is structured very similarly to it. It is difficult for me to see where and how the running total is stored during execution. I'm assuming that downloading fxsl, I'll be able to see the templates scan1 and scanl1 referred to below. Is that true? I really need a working example to understand how to apply it to my situation. Thank you again for patiently working with me. Bill -----Original Message----- From: Dimitre Novatchev To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Sent: 12/6/2003 2:07 AM Subject: Re: Re: How to Calculate Running Total using Variable within FOR-LOOP? Bill, I am sorry, this is way too big and it seems to me that 90% of the code is not related to the actual problem. I know how to solve this class of problems and would like to help, once you produce the minimal possible example. Generally, one can use a recursive named templade to do the additions and get the running total at every step. Below is an example which takes a list of numbers and produces a the running total at every step. This is a simple example that I understand and, hopefully, could be helpfull in your case. If you provide a very simple example of yours the solution of which will solve your problem, then I will definitely give it a try. Here's my example: numList.xml: ======== <nums> <num>01</num> <num>02</num> <num>03</num> <num>04</num> <num>05</num> <num>06</num> <num>07</num> <num>08</num> <num>09</num> <num>10</num> </nums> Transformation (testScanl.xsl): ===================== <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:myAdd="f:myAdd" xmlns:myParam="f:myParam" > <xsl:import href="scanlDVC.xsl"/> <xsl:output omit-xml-declaration="yes" indent="yes"/> <!-- To be applied on: numList.xml --> <myAdd:myAdd/> <myParam:myParam>0</myParam:myParam> <xsl:template match="/"> <xsl:variable name="vFun" select="document('')/*/myAdd:*[1]"/> <xsl:variable name="vZero" select="document('')/*/myParam:*[1]"/> <xsl:call-template name="scanl"> <xsl:with-param name="pFun" select="$vFun"/> <xsl:with-param name="pQ0" select="$vZero" /> <xsl:with-param name="pList" select="/*/num"/> </xsl:call-template> - - - - - - - - - - - <xsl:call-template name="scanl1"> <xsl:with-param name="pFun" select="$vFun"/> <xsl:with-param name="pList" select="/*/num"/> </xsl:call-template> </xsl:template> <xsl:template match="myAdd:*"> <xsl:param name="pArg1" select="0"/> <xsl:param name="pArg2" select="0"/> <xsl:value-of select="$pArg1 + $pArg2"/> </xsl:template> </xsl:stylesheet> Result: ===== <el>0</el> <el>1</el> <el>3</el> <el>6</el> <el>10</el> <el>15</el> <el>21</el> <el>28</el> <el>36</el> <el>45</el> <el>55</el> - - - - - - - - - - - <el>01</el> <el>3</el> <el>6</el> <el>10</el> <el>15</el> <el>21</el> <el>28</el> <el>36</el> <el>45</el> <el>55</el> This will not tell you how exactly the problem is solved, but it is enough to say that the scanl template is general and can solve all problems in this class. It needs that one specify the step operation as a tempate and pass a it (a template reference to it) as a parameter. scanl applies the step operation on the already accumulated value and the head of the list, saves the current result (the running total), then calls itself with the tail (rest) of the list, the same step operation and the latest accumulated value. The step operation in your case (as I understand it) will be a template that essentially multiplies two children of the head of the list (e.g. price and quantity) and adds the result to the accumulated running total. ===== Cheers, Dimitre Novatchev. http://fxsl.sourceforge.net/ -- the home of FXSL "Ficke, Bill" <Bill.Ficke@xxxxxxxxxxxxxxxx> wrote in message news:92EFB80E551BD511B39500D0B7B0CDCC0A993F8D@xxxxxxxxxxxxxxxxxxxxxxxxxx .us... > Dimitre, > > Thank you for helping. I've reposted the xml and xsl at the bottom of this > message. You should be able to apply the style sheet to this xml without > error. > > The included code should illustrate what I need to accomplish with this > report. I've added some comments to the code skeleton below so you can gain > a quick understanding of the program's structure. I think the structure is > where the problem lies because it affects the scope of variables. > > You should be able to apply the style sheet to this xml without error. > > Please see below to examine a summary of how the report is set up: > > Report Layout: > Batch Detail Report Header > > Pre-Billing Header > Pre-Billing Report Details > Hourly SubTotal > Units SubTotal > SubTotal > Specialty SubTotal > Report Total 922.44 > Savings > Pre-Billing Report > Hourly SubTotal > Units SubTotal > SubTotal > Specialty SubTotal > Report Total 797.88 > Savings > Batch Total 922.44 + 797.88 > > > Code Skeleton (I've included the key components to understand the logic): > Batch Detail Report Header > <xsl:for-each> > Pre-Billing Header > <xsl:for-each> > Pre-Billing Report Details > </xsl:for-each> > > <!--Calulate and Set Hourly Subtotal Variable--> > <xsl:variable name="Hourly"> > <xsl:call-template > name="Hourly"></xsl:call-template> > </xsl:variable> > > <!--Calulate and Set Subtotal Variable--> > <xsl:variable name="Lesser"> > <xsl:call-template name="Lesser"> > <xsl:with-param name="Hourly" > select="$Hourly"/> > </xsl:call-template> > </xsl:variable> > > <!--Calulate and Set Savings Subtotal Variable--> > <xsl:variable name="Savings"> > <xsl:call-template name="Savings"> > <xsl:with-param name="Hourly" > select="$Hourly"/> > </xsl:call-template> > </xsl:variable> > > <!--Calulate and Set Specialty Subtotal Variable--> > <xsl:variable name="Specialty"> > <xsl:call-template > name="Specialty"></xsl:call-template> > </xsl:variable> > > <!--Calulate and Set Specialty Subtotal Variable--> > <!--Notice that it requires input from above variables--> > <xsl:variable name="GrandTotal"> > <xsl:call-template name="GrandTotal"> > <xsl:with-param name="Hourly" > select="$Hourly"/> > <xsl:with-param name="Lesser" > select="$Lesser"/> > <xsl:with-param name="Specialty" > select="$Specialty"/> > </xsl:call-template> > </xsl:variable> > > <!--PROBLEM AREA: Since this is being set within a loop, > the value is lost with each iteration. So, it really isn't a running total. > That is what I need. > <xsl:variable name="running-total" select="$running-total + > $GrandTotal"/> > > <!--Display Subtotal Variables--> > <!--Hourly SubTotal--> > <xsl:value-of select="format-number($Hourly, '$#,##0.00')"/> > <!--Units SubTotal--> > <xsl:value-of > select="format-number(sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCO ST), > '$#,##0.00')"/> > <!--SubTotal--> > <xsl:value-of select="format-number($Lesser, '$#,##0.00')"> > <!--Specialty SubTotal--> > <xsl:value-of select="format-number($Specialty, > '$#,##0.00')"/> > <!--Report Total--> > <xsl:value-of select="format-number($GrandTotal, > '$#,##0.00')"> > <!--Savings--> > <xsl:value-of select="format-number($Savings, '$#,##0.00')"> > </xsl:for-each> > > <!--Batch Total PROBLEM AREA: Because of loop, this is not > in the same scope as above, thus yielding 0 --> > <xsl:value-of select="format-number($running-total, > '$#,##0.00')"/> > > Everything except Batch Total works fine. > > > > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:fo="http://www.w3.org/1999/XSL/Format" > 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"> > <!-- StyleSheet: CI200PreBillReport.xsl > Purpose: This stylesheet creates a simple > HTML table from a Microsoft format recordset. It lists each data row as a > row, using > attribute names as column > names. > > Parameters: > > Author: Bill Ficke 09/02/2003 > --> > <!-- Output is XHTML --> > <xsl:output method="xml" omit-xml-declaration="yes" indent="no" > encoding="ISO-8859-1"/> > <!-- the Report Header of the output table --> > <xsl:param name="report_header">Batch Detail Report</xsl:param> > <!-- the ID of the output table --> > <xsl:param name="table_id">ms_table</xsl:param> > <!-- parm to change stylesheet reference --> > <xsl:param > name="style_sheet_ref">../../../StyleFiles/D1MasterCSS.css</xsl:param> > <!-- style class assigned to the table --> > <xsl:param name="tbl_class"/> > <!-- style class assigned to the table header cells --> > <xsl:param name="hdr_cell_class"/> > <!-- style class assigned to the table cells --> > <xsl:param name="cell_class"/> > <!-- init the running total var --> > <xsl:param name="running-total" select="0"/> > > > > <!-- match root --> > <xsl:template match="/"> > <html> > <head> > <title></title> > <link rel="stylesheet" type="text/css" > href="{$style_sheet_ref}"></link> > </head> > <body> > <xsl:for-each > select="/xml/rs:data/z:row[@RB_ID != > 'B478EB94-F6D0-4133-A796-6718BF854B1C']"> > <xsl:call-template > name="PreBillHeader"/> > <xsl:call-template > name="PreBillBody"/> > </xsl:for-each> > </body> > </html> > </xsl:template> > <xsl:template name="PreBillHeader"> > <div id="cia_header"> > <table border="0" width="90%"> > <tbody> > <tr> > <td class="cia_reportname"> > <xsl:value-of > select="$report_header"/> > </td> > </tr> > <tr> > <td class="cia_company"> > <xsl:value-of > select="./@CO_NAME"/> > </td> > </tr> > <tr> > <td> > <xsl:value-of > select="./@CO_ADDRESS"/> > </td> > </tr> > <tr> > <td/> > </tr> > <tr> > <td> > <table border="0" > width="100%"> > <tbody> > <tr> > > > <td>Batch:</td> > > <td class="cia_reportdata"> > > <xsl:value-of select="./@RB_NAME"/> > > </td> > > <td>Batch Start Date:</td> > > <td class="cia_reportdata"> > > <xsl:value-of select="translate(./@RB_START_DATE, 'T', ' ')"/> > > </td> > > </tr> > <tr> > > <td></td> > > <td class="cia_reportdata"> > > > > </td> > > <td>Batch End Date:</td> > > <td class="cia_reportdata"> > > <xsl:value-of select="translate(./@RB_END_DATE, 'T', ' ')"/> > > </td> > > </tr> > </tbody> > </table> > </td> > </tr> > </tbody> > </table> > </div> > <br/> > </xsl:template> > <xsl:template name="PreBillBody"> > <div id="cia_header"> > <table border="0" width="90%"> > <tbody> > > <xsl:for-each > select="./b_children/rr"> > <tr> > <td>Pre-Billing > Report:</td> > <td colspan="2" > class="cia_reportdata"> > > <xsl:value-of select="./@RR_NAME"/> > </td> > <td>Job > Address:</td> > <td colspan="2" > class="cia_reportdata"> > > <xsl:value-of select="./@WR_ADDRESS"/> > </td> > </tr> > <tr> > <td > class="cia_total">Bid Unit</td> > <td > class="cia_total">BU Type</td> > <td > class="cia_total"></td> > <td > class="cia_total" align="right">Price</td> > <td > class="cia_total" align="right">Qty</td> > <td > class="cia_total" align="right">Total $</td> > </tr> > <xsl:for-each select="./rr_children/rd"> > <tr class="cia_reportdata"> > <td> > <xsl:value-of select="@RESOURCECODENAME"/> > </td> > <td> > <xsl:value-of select="@BIDUNITNAME"/> > </td> > <td> > <!--<xsl:value-of select="@UNITOFMEASURE"/>--> > </td> > <td align="right"> > <xsl:value-of select="format-number(@ACTUALCOST, '$#,##0.00')"/> > </td> > <td align="right"> > <xsl:value-of select="@QUANTITY"/> > </td> > <td align="right"> > <xsl:value-of select="format-number(@TOTALCOST, '$#,##0.00')"/> > </td> > </tr> > </xsl:for-each> > > > <xsl:variable name="Hourly"> > <xsl:call-template name="Hourly"></xsl:call-template> > </xsl:variable> > > <xsl:variable name="Lesser"> > <xsl:call-template name="Lesser"> > <xsl:with-param name="Hourly" select="$Hourly"/> > </xsl:call-template> > </xsl:variable> > > <xsl:variable name="Savings"> > <xsl:call-template name="Savings"> > <xsl:with-param name="Hourly" select="$Hourly"/> > </xsl:call-template> > </xsl:variable> > > <xsl:variable name="Specialty"> > <xsl:call-template name="Specialty"></xsl:call-template> > </xsl:variable> > > <xsl:variable name="GrandTotal"> > <xsl:call-template name="GrandTotal"> > <xsl:with-param name="Hourly" select="$Hourly"/> > <xsl:with-param name="Lesser" select="$Lesser"/> > <xsl:with-param name="Specialty" > select="$Specialty"/> > </xsl:call-template> > </xsl:variable> > > <xsl:variable name="running-total" select="$running-total + $GrandTotal"/> > > <xsl:call-template name="PreBillTotal"> > <xsl:with-param name="Hourly" select="$Hourly"/> > <xsl:with-param name="Lesser" select="$Lesser"/> > <xsl:with-param name="Specialty" select="$Specialty"/> > <xsl:with-param name="Savings" select="$Savings"/> > <xsl:with-param name="GrandTotal" select="$GrandTotal"/> > </xsl:call-template> > > </xsl:for-each> > > <xsl:call-template name="BatchTotal"> > <xsl:with-param name="running-total" > select="$running-total"/> > </xsl:call-template> > > </tbody> > </table> > </div> > > </xsl:template> > > <xsl:template name="Hourly"> > <xsl:value-of > select="sum(./rr_children/rd[@BIDUNITNAME='Labor']/@TOTALCOST) + > sum(./rr_children/rd[@BIDUNITNAME='Equipment']/@TOTALCOST)"/> > </xsl:template> > > <xsl:template name="Lesser"> > <xsl:param name="Hourly"/> > <xsl:choose> > <!-- Hourly is 0, so use Unit --> > <xsl:when test="$Hourly = 0"> > <xsl:value-of > select="sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCOST)"/> > </xsl:when> > > <!-- Unit is 0, so use Hourly --> > <xsl:when > test="sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCOST) = 0"> > <xsl:value-of select="$Hourly"/> > </xsl:when> > > <!-- Hourly greater than Unit --> > <xsl:when test="$Hourly > > sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCOST)"> > <xsl:value-of > select="sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCOST)"/> > </xsl:when> > > <!-- Unit greater than Hourly --> > <xsl:when > test="sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCOST) > $Hourly"> > <xsl:value-of select="$Hourly"/> > </xsl:when> > > <!-- Otherwise --> > <xsl:otherwise> > <xsl:value-of select="0"></xsl:value-of> > </xsl:otherwise> > </xsl:choose> > > </xsl:template> > > <xsl:template name="Savings"> > <xsl:param name="Hourly"/> > > <xsl:choose> > > <!-- Unit greater than Hourly and Payment Type is Hourly not > to exceed Unit--> > <xsl:when test="((./@RR_PAYMENT_TYPE = 2) and > (sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCOST) > $Hourly))"> > <xsl:value-of > select="sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCOST) - $Hourly"/> > </xsl:when> > > <!-- Otherwise --> > <xsl:otherwise> > <xsl:value-of select="0"></xsl:value-of> > </xsl:otherwise> > </xsl:choose> > > </xsl:template> > > > <xsl:template name="Specialty"> > > <xsl:value-of > select="sum(./rr_children/rd[@BIDUNITNAME='Specialty']/@TOTALCOST) + > sum(./rr_children/rd[@BIDUNITNAME='Maintenance']/@TOTALCOST)"></xsl:valu e-of > > > > </xsl:template> > > <xsl:template name="GrandTotal"> > > <xsl:param name="Hourly"/> > <xsl:param name="Lesser"/> > <xsl:param name="Specialty"/> > > <xsl:choose> > > <xsl:when test="./@RR_PAYMENT_TYPE = 3"> > <xsl:value-of > select="$Specialty"></xsl:value-of> > </xsl:when> > > <xsl:when test="./@RR_PAYMENT_TYPE = 2"> > <xsl:value-of select="$Lesser + > $Specialty"></xsl:value-of> > </xsl:when> > > <xsl:when test="./@RR_PAYMENT_TYPE = 1"> > <xsl:value-of > select="sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCOST) + > $Specialty"></xsl:value-of> > </xsl:when> > > <xsl:when test="./@RR_PAYMENT_TYPE = 0"> > <xsl:value-of select="$Hourly + > $Specialty"></xsl:value-of> > </xsl:when> > > </xsl:choose> > > </xsl:template> > > <xsl:template name="PreBillTotal"> > <xsl:param name="Hourly"/> > <xsl:param name="Lesser"/> > <xsl:param name="Specialty"/> > <xsl:param name="Savings"/> > <xsl:param name="GrandTotal"/> > > <tr class="cia_company"> > <td colspan="6" class="cia_total"></td> > </tr> > > <tr class="cia_reportdata"> > <td colspan="2"></td> > <td colspan="3">Hourly SubTotal</td> > <td align="right"><xsl:value-of > select="format-number($Hourly, '$#,##0.00')"/></td> > </tr> > > <tr class="cia_reportdata"> > <td colspan="2"></td> > <td colspan="3">Units SubTotal</td> > <td align="right"><xsl:value-of > select="format-number(sum(./rr_children/rd[@BIDUNITNAME='Unit']/@TOTALCO ST), > '$#,##0.00')"/></td> > </tr> > > <tr class="cia_reportdata"> > <td colspan="6"> </td> > </tr> > > <tr class="cia_reportdata"> > <td colspan="2"></td> > <td colspan="3">SubTotal</td> > <td align="right"><xsl:value-of > select="format-number($Lesser, '$#,##0.00')"></xsl:value-of></td> > </tr> > > <tr class="cia_reportdata"> > <td colspan="2"></td> > <td colspan="3">Specialty Total</td> > <td align="right"><xsl:value-of > select="format-number($Specialty, '$#,##0.00')"/></td> > </tr> > > <tr class="cia_reportdata"> > <td colspan="2"></td> > <td colspan="3" class="cia_subtotal">Report Total</td> > <td align="right" class="cia_subtotal"><xsl:value-of > select="format-number($GrandTotal, '$#,##0.00')"></xsl:value-of></td> > </tr> > > <tr class="cia_reportdata"> > <td colspan="2"></td> > <td colspan="3" class="cia_subtotal">Savings</td> > <td align="right" class="cia_subtotal"><xsl:value-of > select="format-number($Savings, '$#,##0.00')"></xsl:value-of></td> > </tr> > > </xsl:template> > > > <xsl:template name="BatchTotal"> > > <xsl:param name="running-total"/> > > <tr class="cia_company"> > <td colspan="6" class="cia_total">Batch Total</td> > </tr> > <tr class="cia_reportdata"> > <td colspan="2"></td> > <td colspan="3" class="cia_subtotal">Batch > Total</td> > <td class="cia_subtotal"> > <xsl:value-of > select="format-number($running-total, '$#,##0.00')"/> > </td> > </tr> > </xsl:template> > > </xsl:stylesheet> > > > <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" rs:updatable="true" rs:ReshapeName="batch"> > <s:AttributeType name="RB_ID" rs:number="1" > rs:writeunknown="true" rs:basetable="RP_BATCH_VW" rs:basecolumn="OBJ_ID"> > <s:datatype dt:type="string" rs:dbtype="str" > dt:maxLength="36" rs:maybenull="false"/> > </s:AttributeType> > <s:AttributeType name="RB_NAME" rs:number="2" > rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_BATCH_VW" > rs:basecolumn="OBJ_NAME"> > <s:datatype dt:type="string" rs:dbtype="str" > dt:maxLength="100"/> > </s:AttributeType> > <s:AttributeType name="RB_START_DATE" rs:number="3" > rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_BATCH_VW" > rs:basecolumn="BEGINDATE"> > <s:datatype dt:type="string" rs:dbtype="str" > dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType name="RB_END_DATE" rs:number="4" > rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_BATCH_VW" > rs:basecolumn="ENDDATE"> > <s:datatype dt:type="string" rs:dbtype="str" > dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType name="CO_ID" rs:number="5" > rs:writeunknown="true" rs:basetable="RP_COMPANY_VW" rs:basecolumn="OBJ_ID"> > <s:datatype dt:type="string" rs:dbtype="str" > dt:maxLength="36" rs:maybenull="false"/> > </s:AttributeType> > <s:AttributeType name="CO_NAME" rs:number="6" > rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_COMPANY_VW" > rs:basecolumn="OBJ_NAME"> > <s:datatype dt:type="string" rs:dbtype="str" > dt:maxLength="100"/> > </s:AttributeType> > <s:AttributeType name="CO_ADDRESS" rs:number="7" > rs:nullable="true" rs:writeunknown="true" rs:basetable="RP_COMPANY_VW" > rs:basecolumn="OBJ_DESC"> > <s:datatype dt:type="string" rs:dbtype="str" > dt:maxLength="300"/> > </s:AttributeType> > <s:ElementType name="b_children" content="eltOnly" > rs:CommandTimeout="30" rs:updatable="true" rs:ReshapeName="b_children" > rs:relation="010000000100000000000000"> > <s:AttributeType name="REL_PARENT" > rs:number="1" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RELS_DT" rs:basecolumn="REL_PARENT"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="36"/> > </s:AttributeType> > <s:AttributeType name="REL_CHILD" > rs:number="2" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RELS_DT" rs:basecolumn="REL_CHILD"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="36"/> > </s:AttributeType> > <s:ElementType name="rr" content="eltOnly" > rs:CommandTimeout="30" rs:updatable="true" rs:ReshapeName="rr" rs:relation=" > 020000000100000000000000"> > <s:AttributeType name="RR_ID" > rs:number="1" rs:writeunknown="true" rs:basetable="RP_RESOURCEREPORT_VW" > rs:basecolumn="OBJ_ID"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="36" rs:maybenull="false"/> > </s:AttributeType> > <s:AttributeType name="RR_NAME" > rs:number="2" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RESOURCEREPORT_VW" rs:basecolumn="OBJ_NAME"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="100"/> > </s:AttributeType> > <s:AttributeType > name="RR_ISAPPROVED" rs:number="3" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RESOURCEREPORT_VW" rs:basecolumn="ISAPPROVED"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType > name="RR_APPROVED_DATE" rs:number="4" rs:nullable="true" > rs:writeunknown="true" rs:basetable="RP_RESOURCEREPORT_VW" > rs:basecolumn="DATEAPPROVED"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType name="RR_NOTES" > rs:number="5" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RESOURCEREPORT_VW" rs:basecolumn="NOTES"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType > name="RR_PAYMENT_TYPE" rs:number="6" rs:nullable="true" > rs:writeunknown="true" rs:basetable="RP_RESOURCEREPORT_VW" > rs:basecolumn="PMTTYPE"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType name="WR_NAME" > rs:number="7" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_WORKREQUEST_VW" rs:basecolumn="OBJ_NAME"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="100"/> > </s:AttributeType> > <s:AttributeType name="WR_ADDRESS" > rs:number="8" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_WORKREQUEST_VW" rs:basecolumn="ADDRESS"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:ElementType name="rr_children" > content="eltOnly" rs:CommandTimeout="30" rs:updatable="true" > rs:ReshapeName="rr_children" rs:relation="010000000100000000000000"> > <s:AttributeType > name="REL_PARENT" rs:number="1" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RELS_DT" rs:basecolumn="REL_PARENT"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="36"/> > </s:AttributeType> > <s:AttributeType > name="REL_CHILD" rs:number="2" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RELS_DT" rs:basecolumn="REL_CHILD"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="36"/> > </s:AttributeType> > <s:ElementType name="rd" > content="eltOnly" rs:CommandTimeout="30" rs:updatable="true" > rs:ReshapeName="rd" rs:relation="020000000400000000000000"> > <s:AttributeType > name="UNITOFMEASURE" rs:number="1" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RESOURCECODE_VW" rs:basecolumn="UNITOFMEASURE"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType > name="BIDUNITNAME" rs:number="2" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_BUTYPE_VW" rs:basecolumn="OBJ_NAME"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="100"/> > </s:AttributeType> > <s:AttributeType > name="RESOURCECODENAME" rs:number="3" rs:nullable="true" > rs:writeunknown="true" rs:basetable="RP_RESOURCECODE_VW" > rs:basecolumn="OBJ_NAME"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="100"/> > </s:AttributeType> > <s:AttributeType > name="OBJ_ID" rs:number="4" rs:writeunknown="true" > rs:basetable="RP_RESOURCEDETAIL_VW" rs:basecolumn="OBJ_ID"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="36" rs:maybenull="false"/> > </s:AttributeType> > <s:AttributeType > name="CHARGECODE" rs:number="5" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RESOURCEDETAIL_VW" rs:basecolumn="CHARGECODE"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType > name="ACTUALCOST" rs:number="6" rs:nullable="true"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="13"/> > </s:AttributeType> > <s:AttributeType > name="QUANTITY" rs:number="7" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RESOURCEDETAIL_VW" rs:basecolumn="QUANTITY"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType > name="QUALIFIERCODE" rs:number="8" rs:nullable="true" rs:writeunknown="true" > rs:basetable="RP_RESOURCEDETAIL_VW" rs:basecolumn="QUALIFIERCODE"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="1500"/> > </s:AttributeType> > <s:AttributeType > name="TOTALCOST" rs:number="9" rs:nullable="true"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="13"/> > </s:AttributeType> > <s:extends > type="rs:rowbase"/> > </s:ElementType> > <s:AttributeType > name="ROWID" rs:number="4" rs:nullable="true" rs:rowid="true" > rs:basetable="RP_RELS_DT" rs:basecolumn="ROWID" rs:keycolumn="true" > rs:hidden="true" rs:autoincrement="true"> > <s:datatype > dt:type="string" rs:dbtype="str" dt:maxLength="18" rs:fixedlength="true"/> > </s:AttributeType> > <s:extends > type="rs:rowbase"/> > </s:ElementType> > <s:extends type="rs:rowbase"/> > </s:ElementType> > <s:AttributeType name="ROWID" rs:number="4" > rs:nullable="true" rs:rowid="true" rs:basetable="RP_RELS_DT" > rs:basecolumn="ROWID" rs:keycolumn="true" rs:hidden="true" > rs:autoincrement="true"> > <s:datatype dt:type="string" > rs:dbtype="str" dt:maxLength="18" rs:fixedlength="true"/> > </s:AttributeType> > <s:extends type="rs:rowbase"/> > </s:ElementType> > <s:extends type="rs:rowbase"/> > </s:ElementType> > </s:Schema> > <rs:data> > <z:row RB_ID="ECF91362-716C-4923-A245-F5D13817E36B" > RB_NAME="PIK-100-1" RB_START_DATE="2003-11-21T00:00:00" > RB_END_DATE="2001-12-31" CO_ID="9B84EFF4-2534-46A3-B635-CF43CBEB7695" > CO_NAME="Company Name" CO_ADDRESS="Company Address"> > <b_children > REL_PARENT="ECF91362-716C-4923-A245-F5D13817E36B" > REL_CHILD="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF" ROWID="AAAA4yAACAAAXq4AAN"> > <rr > RR_ID="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF" RR_NAME="PIK-2415-1" > RR_ISAPPROVED="-1" RR_PAYMENT_TYPE="0" WR_NAME="2415" WR_ADDRESS="4411 > Meinardus Dr "> > <rr_children > REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF" > REL_CHILD="3EBC74F2-413D-4FBA-AADC-2B7220786FE4" ROWID="AAAA4yAACAAAXqtAAZ"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Labor" RESOURCECODENAME="1.04 OH" > OBJ_ID="3EBC74F2-413D-4FBA-AADC-2B7220786FE4" ACTUALCOST=" 44.16" > QUANTITY="8" QUALIFIERCODE="1" TOTALCOST=" 353.28"/> > </rr_children> > <rr_children > REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF" > REL_CHILD="EC67AF77-335B-4664-A2A7-2D9950D3CBAF" ROWID="AAAA4yAACAAAXqtAAb"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Labor" RESOURCECODENAME="1.06 OH" > OBJ_ID="EC67AF77-335B-4664-A2A7-2D9950D3CBAF" ACTUALCOST=" 28.52" > QUANTITY="13" QUALIFIERCODE="1" TOTALCOST=" 370.76"/> > </rr_children> > <rr_children > REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF" > REL_CHILD="73F70DC3-2E89-4E51-B303-8280FC723780" ROWID="AAAA4yAACAAAXqtAAd"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Equipment" RESOURCECODENAME="2.09 OH" > OBJ_ID="73F70DC3-2E89-4E51-B303-8280FC723780" ACTUALCOST=" 1.80" > QUANTITY="8" QUALIFIERCODE="1" TOTALCOST=" 14.40"/> > </rr_children> > <rr_children > REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF" > REL_CHILD="6FF29A2A-4FC0-4E49-85F7-5D6BC4AE3F2F" ROWID="AAAA4yAACAAAXqtAAf"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Equipment" RESOURCECODENAME="2.15 OH" > OBJ_ID="6FF29A2A-4FC0-4E49-85F7-5D6BC4AE3F2F" ACTUALCOST=" 6.90" > QUANTITY="8" QUALIFIERCODE="1" TOTALCOST=" 55.20"/> > </rr_children> > <rr_children > REL_PARENT="C0CD4453-9E48-4AC9-836C-38C5FA35C4DF" > REL_CHILD="698C6196-3F52-453F-BF55-98CF4C7C36AC" ROWID="AAAA4yAACAAAXqtAAh"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Equipment" RESOURCECODENAME="2.17 OH" > OBJ_ID="698C6196-3F52-453F-BF55-98CF4C7C36AC" ACTUALCOST=" 16.10" > QUANTITY="8" QUALIFIERCODE="1" TOTALCOST=" 128.80"/> > </rr_children> > </rr> > </b_children> > <b_children > REL_PARENT="ECF91362-716C-4923-A245-F5D13817E36B" > REL_CHILD="9F8828D5-1EDF-4202-B750-5B249EB9F714" ROWID="AAAA4yAACAAAXq4AAP"> > <rr > RR_ID="9F8828D5-1EDF-4202-B750-5B249EB9F714" RR_NAME="PIK-2486-2" > RR_ISAPPROVED="-1" RR_NOTES="INSTALL 40' POLE ON EAST SIDE" > RR_PAYMENT_TYPE="2" WR_NAME="2486" WR_ADDRESS="9036 N Lamar Blvd "> > <rr_children > REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714" > REL_CHILD="2829B95D-E6BB-4DC8-9B17-A55F4D3BBBC4" ROWID="AAAA4yAACAAAXqoAAN"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Labor" RESOURCECODENAME="1.01 OH" > OBJ_ID="2829B95D-E6BB-4DC8-9B17-A55F4D3BBBC4" ACTUALCOST=" 24.84" > QUANTITY="8" QUALIFIERCODE="1" TOTALCOST=" 198.72"/> > </rr_children> > <rr_children > REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714" > REL_CHILD="BD29808F-0604-40AB-BA0F-C0F0D63CD87C" ROWID="AAAA4yAACAAAXqoAAP"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Labor" RESOURCECODENAME="1.06 OH" > OBJ_ID="BD29808F-0604-40AB-BA0F-C0F0D63CD87C" ACTUALCOST=" 28.52" > QUANTITY="8" QUALIFIERCODE="1" TOTALCOST=" 228.16"/> > </rr_children> > <rr_children > REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714" > REL_CHILD="3650606F-36A9-4C0F-BE68-2716053E695C" ROWID="AAAA4yAACAAAXqoAAR"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Equipment" RESOURCECODENAME="2.02 OH" > OBJ_ID="3650606F-36A9-4C0F-BE68-2716053E695C" ACTUALCOST=" 32.00" > QUANTITY="8" QUALIFIERCODE="1" TOTALCOST=" 256.00"/> > </rr_children> > <rr_children > REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714" > REL_CHILD="B164FAC0-C80C-4D0D-A823-C8F1AD3C215F" ROWID="AAAA4yAACAAAXqoAAT"> > <rd UNITOFMEASURE="EA" > BIDUNITNAME="Unit" RESOURCECODENAME="17.09 OH" > OBJ_ID="B164FAC0-C80C-4D0D-A823-C8F1AD3C215F" ACTUALCOST=" 298.98" > QUANTITY="1" QUALIFIERCODE="1" TOTALCOST=" 298.98"/> > </rr_children> > <rr_children > REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714" > REL_CHILD="E473005F-123D-49A1-87D9-C8D3439AD1F4" ROWID="AAAA4yAACAAAXqoAAV"> > <rd UNITOFMEASURE="EA" > BIDUNITNAME="Unit" RESOURCECODENAME="19.04 OH" > OBJ_ID="E473005F-123D-49A1-87D9-C8D3439AD1F4" ACTUALCOST=" 145.20" > QUANTITY="1" QUALIFIERCODE="1" TOTALCOST=" 145.20"/> > </rr_children> > <rr_children > REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714" > REL_CHILD="C05C6B74-DE96-40A0-83F2-B88CF47F80E3" ROWID="AAAA4yAACAAAXqoAAX"> > <rd UNITOFMEASURE="EA" > BIDUNITNAME="Unit" RESOURCECODENAME="19.06 OH" > OBJ_ID="C05C6B74-DE96-40A0-83F2-B88CF47F80E3" ACTUALCOST=" 106.92" > QUANTITY="1" QUALIFIERCODE="1" TOTALCOST=" 106.92"/> > </rr_children> > <rr_children > REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714" > REL_CHILD="D4AC051D-A911-4899-B52D-FFAC2288B6F4" ROWID="AAAA4yAACAAAXqoAAZ"> > <rd UNITOFMEASURE="HR" > BIDUNITNAME="Equipment" RESOURCECODENAME="2.18 OH" > OBJ_ID="D4AC051D-A911-4899-B52D-FFAC2288B6F4" ACTUALCOST=" 23.00" > QUANTITY="4" QUALIFIERCODE="1.25" TOTALCOST=" 115.00"/> > </rr_children> > <rr_children > REL_PARENT="9F8828D5-1EDF-4202-B750-5B249EB9F714" > REL_CHILD="6A15FF13-7E5C-4CF2-8144-1B8EC28E3783" ROWID="AAAA4yAACAAAXqoAAb"> > <rd UNITOFMEASURE="EA" > BIDUNITNAME="Unit" RESOURCECODENAME="5.02 OH" > OBJ_ID="6A15FF13-7E5C-4CF2-8144-1B8EC28E3783" ACTUALCOST=" 640.58" > QUANTITY="1" QUALIFIERCODE="1" TOTALCOST=" 640.58"/> > </rr_children> > </rr> > </b_children> > </z:row> > </rs:data> > </xml> > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list > > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|