delphi programming forums mysql charset mget recursive synonimos
free ventrilo servers hosting cs javascript delay python find in list
Back Forum New
abstract:

  Any suggestions?  Thank you so much!
<!--Define Keys to group LineItem elements for Type-->
<xsl:key name="keyType" match="LineItem" use="Type"/>
<xsl:element name="Amount">
<!-- Set the Type to a variable -->
<xsl:for-each select="//Invoice/InvoiceDetail/Project/Transactions/LineItem[generate-id(.) = generate-id(key('keyType', 'Time'))]">
<!--Select all the line items belonging to this type-->
<xsl:value-of select="sum(key('keyType', Type)/TotalBaseCurrency)"/>
</xsl:for-each>
</xsl:element>
My email is farr000@yahoo.com


I have the following XML to work with.
<INVOICE>
  <INVOICEHEADER>
    <INVOICENUMBER>1</INVOICENUMBER>
  </INVOICEHEADER>
  <INVOICE DETAIL>
    <PROJECT>
      <TRANSACTIONS>
        <LINEITEM>
          <TYPE>Time</TYPE>
          <AMOUNT>1000</AMOUNT>
        </LINEITEM>
        <LINEITEM>
          <TYPE>Expense</TYPE>
          <AMOUNT>2000</AMOUNT>
        </LINEITEM>
      </TRANSACTIONS>
    </PROJECT>
  </INVOICEDETAIL>
</INVOICE>
<INVOICE>
  <INVOICEHEADER>
    <INVOICENUMBER>2</INVOICENUMBER>
  </INVOICEHEADER>
  <INVOICE DETAIL>
    <PROJECT>
      <TRANSACTIONS>
        <LINEITEM>
          <TYPE>Time</TYPE>
          <AMOUNT>1000</AMOUNT>
        </LINEITEM>
        <LINEITEM>
          <TYPE>Expense</TYPE>
          <AMOUNT>2000</AMOUNT>
        </LINEITEM>
      </TRANSACTIONS>
    </PROJECT>
  </INVOICEDETAIL>
</INVOICE>
In my XSL, I am currently able to loop through the XML and sum the amount of the Time and Expense lineitems separately but am unable to sum the amount for just one invoice at a time.  I use the following code for each go around in each Invoice template and it ends up summing the Total for the Time line items for both Invoices.  Here is the code I use.  Any suggestions?  Thank you so much!
<!--Define Keys to group LineItem elements for Type-->
<xsl:key name="keyType" match="LineItem" use="Type"/>
<xsl:element name="Amount">
<!-- Set the Type to a variable -->
<xsl:for-each select="//Invoice/InvoiceDetail/Project/Transactions/LineItem[generate-id(.) = generate-id(key('keyType', 'Time')[1])]">
<!--Select all the line items belonging to this type-->
<xsl:value-of select="sum(key('keyType', Type)/TotalBaseCurrency)"/>
</xsl:for-each>
</xsl:element>
My email is farr000@yahoo.com



TOP

Back Forum