Solved

xsl help

Posted on 2012-04-04
10
347 Views
Last Modified: 2012-04-04
I have the following bit of code.

      <td align="right" valign="top">
        <xsl:for-each select="//GetOrderDetailsInfoResults/LineItem[perf_desc = 'Patron Fee']">
          <xsl:value-of select="format-number(sum(key('subli',li_seq_no)/due_amt), '$###,###.00')"/>
        </xsl:for-each>
      </td>

This code can return mutiple values. Meaning my display could look like $55.00$10.00

How can I sum all returned rows? In this case, I am looking for $65.00.

Go easy on me, I really have never done anything with xsl and don't know the syntax.

Thanks,
0
Comment
Question by:DowntownIT
  • 6
  • 4
10 Comments
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 37807915
This one is tricky

Using XSLT2 this is easy. Can you tell us which XSLT processor you are using and wheither it is XSLT1 or XSLT2

Using XSLT1, you can only sum node values, not integers like that. Depending on the predictability of the call to the key function,
it is most likely that you need to recursively build up the sum... call a sum template on the first node in your for each select
and recurse from there

This will sound abstract for a beginner, so I am happy to do the code for you as an example.
But for that I would like to see the XML and XSLT you already have

Thanks
0
 
LVL 2

Author Comment

by:DowntownIT
ID: 37808002
I do not have access to the xml. The xml is generated from a third party app through internal processes and then is sent to this .xsl file. So if there is some magical way for me to display the xml through this .xsl file let me know. I also can get to the database procedure that produces the results pre xml if that helps also.
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 37808065
I never understand how people can develop an XSLT stylesheet without a proper view on the data, or access to the source XML... always sounds a bit of a gamble to me

Anyway. This might work.
The following stylesheet returns exactly the source as a result.
If you would replace your current XSLT with this one, you will get the source as the result (it is an identity transform)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <xsl:template match="node()">
        <xsl:copy>
            <xsl:copy-of select="@*"/>
            <xsl:apply-templates select="node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

Open in new window

0
 
LVL 2

Author Comment

by:DowntownIT
ID: 37808150
I am sorry for the inconvenience. The vendor provides us with a sample .xsl file and we then have to modify it to suit our requirements. They do not provide a method to produce the xml behind it. I have no control over that.

The process that I am trying to do is modify an email order confirmation that is sent to a customer after they complete an order. This means any changes I make, I can only see the final product in an email. The code that you gave me, produced all of the data but without any of the nodes. I will reach out to the vendor to see if there is a way that they can provide me the xml or a method to produce it. Once I hear back from them, I will update this request.
Thank you,
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 37808213
Don't worry.  It is a classic. These proprietary tools have often a pretty much closed schema, and allow some twidling on the front end.
In that case, let us try to make the best out of it. I assume this is XSLT1?
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 60

Accepted Solution

by:
Geert Bormans earned 500 total points
ID: 37808342
Well,
I went from the most complex assumption:
- XSLT1, no node-set extension, complex as possible data
I constructed a test XML source, taking into account all possible side effects covered by your for each (actually reengineered the data from your piece of XSLT)
This works in my test harnass, so I hope (and believe it would ) work for you

replace your td construct with this
        <td align="right" valign="top">
            <xsl:call-template name="calculate-total">
                <xsl:with-param name="node" select="(//GetOrderDetailsInfoResults/LineItem[perf_desc = 'Patron Fee'])[1]"/>
                <xsl:with-param name="current-total" select="0"></xsl:with-param>
            </xsl:call-template>
        </td>

Open in new window


now between two templates, add this new template (it is the recursive calculation)
    <xsl:template name="calculate-total">
        <xsl:param name="current-total"/>
        <xsl:param name="node"/>
        <xsl:variable name="new-total" select="$current-total + sum(key('subli',$node/li_seq_no)/due_amt)"/>
        <xsl:choose>
            <xsl:when test="$node/following::LineItem[parent::GetOrderDetailsInfoResults][perf_desc = 'Patron Fee']">
                <xsl:call-template name="calculate-total">
                    <xsl:with-param name="node" select="($node/following::LineItem[parent::GetOrderDetailsInfoResults][perf_desc = 'Patron Fee'])[1]"/>
                    <xsl:with-param name="current-total" select="$new-total"></xsl:with-param>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="format-number($new-total, '$###,###.00')"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

Open in new window


Instead of for-eaching throught the entire usefull node-set
this approach takes the first usefull node only, calculates the current running total
and calls the function again, passing the current running total and the next usefull node as parameters

It requires some undertsanding of recursive programming
(which is a good investment if you need to do XSLT1 anyway)
0
 
LVL 2

Author Comment

by:DowntownIT
ID: 37808389
Here, I was able to get the xml. I will take a look at your last comment and see how that works.

<?xml version="1.0" encoding="utf-8" ?>
- <DataSet xmlns="http://software.com/">
- <xs:schema id="GetOrderDetailsInfoResults" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
- <xs:element name="GetOrderDetailsInfoResults" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
- <xs:complexType>
- <xs:choice minOccurs="0" maxOccurs="unbounded">
- <xs:element name="Order">
- <xs:complexType>
- <xs:sequence>
<xs:element name="order_no" type="xs:int" minOccurs="0" />
<xs:element name="appeal_no" type="xs:int" minOccurs="0" />
<xs:element name="source_no" type="xs:int" minOccurs="0" />
<xs:element name="customer_no" type="xs:int" minOccurs="0" />
<xs:element name="solicitor" type="xs:string" minOccurs="0" />
<xs:element name="MOS" type="xs:short" minOccurs="0" />
<xs:element name="mos_desc" type="xs:string" minOccurs="0" />
<xs:element name="order_dt" type="xs:dateTime" minOccurs="0" />
<xs:element name="batch_no" type="xs:int" minOccurs="0" />
<xs:element name="class" type="xs:short" minOccurs="0" />
<xs:element name="address_no" type="xs:int" minOccurs="0" />
<xs:element name="hold_until_dt" type="xs:dateTime" minOccurs="0" />
<xs:element name="transaction_no" type="xs:int" minOccurs="0" />
<xs:element name="habo_ind" type="xs:string" minOccurs="0" />
<xs:element name="notes" type="xs:string" minOccurs="0" />
<xs:element name="bu" type="xs:short" minOccurs="0" />
<xs:element name="delivery" type="xs:int" minOccurs="0" />
<xs:element name="delivery_desc" type="xs:string" minOccurs="0" />
<xs:element name="tot_ticket_purch_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="tot_ticket_return_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="tot_fee_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="tot_contribution_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="tot_due_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="tot_ticket_paid_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="tot_fee_paid_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="tot_contribution_paid_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="tot_paid_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="balance_due" type="xs:decimal" minOccurs="0" />
<xs:element name="seated" type="xs:string" minOccurs="0" />
<xs:element name="printed" type="xs:string" minOccurs="0" />
<xs:element name="custom_1" type="xs:string" minOccurs="0" />
<xs:element name="custom_2" type="xs:string" minOccurs="0" />
<xs:element name="custom_3" type="xs:string" minOccurs="0" />
<xs:element name="custom_4" type="xs:string" minOccurs="0" />
<xs:element name="custom_5" type="xs:string" minOccurs="0" />
<xs:element name="custom_6" type="xs:string" minOccurs="0" />
<xs:element name="custom_7" type="xs:string" minOccurs="0" />
<xs:element name="custom_8" type="xs:string" minOccurs="0" />
<xs:element name="custom_9" type="xs:string" minOccurs="0" />
<xs:element name="custom_0" type="xs:string" minOccurs="0" />
<xs:element name="channel" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="LineItem">
- <xs:complexType>
- <xs:sequence>
<xs:element name="li_seq_no" type="xs:int" minOccurs="0" />
<xs:element name="li_no" type="xs:int" minOccurs="0" />
<xs:element name="order_no" type="xs:int" minOccurs="0" />
<xs:element name="pkg_no" type="xs:int" minOccurs="0" />
<xs:element name="perf_no" type="xs:int" minOccurs="0" />
<xs:element name="priority" type="xs:short" minOccurs="0" />
<xs:element name="zone_no" type="xs:int" minOccurs="0" />
<xs:element name="alt_upgrd_ind" type="xs:string" minOccurs="0" />
<xs:element name="pkg_li_no" type="xs:int" minOccurs="0" />
<xs:element name="primary_ind" type="xs:string" minOccurs="0" />
<xs:element name="perf_code" type="xs:string" minOccurs="0" />
<xs:element name="perf_dt" type="xs:dateTime" minOccurs="0" />
<xs:element name="perf_desc" type="xs:string" minOccurs="0" />
<xs:element name="pkg_code" type="xs:string" minOccurs="0" />
<xs:element name="pkg_desc" type="xs:string" minOccurs="0" />
<xs:element name="facility_desc" type="xs:string" minOccurs="0" />
<xs:element name="notes" type="xs:string" minOccurs="0" />
<xs:element name="zmap_no" type="xs:int" minOccurs="0" />
<xs:element name="text1" type="xs:string" minOccurs="0" />
<xs:element name="text2" type="xs:string" minOccurs="0" />
<xs:element name="text3" type="xs:string" minOccurs="0" />
<xs:element name="text4" type="xs:string" minOccurs="0" />
<xs:element name="super_pkg_no" type="xs:int" minOccurs="0" />
<xs:element name="super_pkg_code" type="xs:string" minOccurs="0" />
<xs:element name="super_pkg_desc" type="xs:string" minOccurs="0" />
<xs:element name="ga_ind" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="SubLineItem">
- <xs:complexType>
- <xs:sequence>
<xs:element name="sli_no" type="xs:int" minOccurs="0" />
<xs:element name="li_seq_no" type="xs:int" minOccurs="0" />
<xs:element name="due_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="paid_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="price_type" type="xs:short" minOccurs="0" />
<xs:element name="price_type_desc" type="xs:string" minOccurs="0" />
<xs:element name="seat_no" type="xs:int" minOccurs="0" />
<xs:element name="comp_code" type="xs:short" minOccurs="0" />
<xs:element name="sli_status" type="xs:short" minOccurs="0" />
<xs:element name="perf_no" type="xs:int" minOccurs="0" />
<xs:element name="pkg_no" type="xs:int" minOccurs="0" />
<xs:element name="zone_no" type="xs:int" minOccurs="0" />
<xs:element name="ret_parent_sli_no" type="xs:int" minOccurs="0" />
<xs:element name="order_no" type="xs:int" minOccurs="0" />
<xs:element name="seat_row" type="xs:string" minOccurs="0" />
<xs:element name="seat_num" type="xs:string" minOccurs="0" />
<xs:element name="zone_desc" type="xs:string" minOccurs="0" />
<xs:element name="section_desc" type="xs:string" minOccurs="0" />
<xs:element name="section_short_desc" type="xs:string" minOccurs="0" />
<xs:element name="section_print_desc" type="xs:string" minOccurs="0" />
<xs:element name="section_add_text" type="xs:string" minOccurs="0" />
<xs:element name="section_add_text2" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="SubLineItemFee">
- <xs:complexType>
- <xs:sequence>
<xs:element name="id" type="xs:int" minOccurs="0" />
<xs:element name="order_no" type="xs:int" minOccurs="0" />
<xs:element name="li_seq_no" type="xs:int" minOccurs="0" />
<xs:element name="sli_no" type="xs:int" minOccurs="0" />
<xs:element name="fee_no" type="xs:int" minOccurs="0" />
<xs:element name="fee_desc" type="xs:string" minOccurs="0" />
<xs:element name="fee_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="fee_override_ind" type="xs:string" minOccurs="0" />
<xs:element name="fee_override_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="user_def_ind" type="xs:string" minOccurs="0" />
<xs:element name="fee_frequency" type="xs:string" minOccurs="0" />
<xs:element name="category" type="xs:short" minOccurs="0" />
<xs:element name="category_desc" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="Fee">
- <xs:complexType>
- <xs:sequence>
<xs:element name="category" type="xs:short" minOccurs="0" />
<xs:element name="category_desc" type="xs:string" minOccurs="0" />
<xs:element name="total_fees" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="Contribution">
- <xs:complexType>
- <xs:sequence>
<xs:element name="ref_no" type="xs:int" minOccurs="0" />
<xs:element name="cont_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="fund_no" type="xs:int" minOccurs="0" />
<xs:element name="fund_desc" type="xs:string" minOccurs="0" />
<xs:element name="campaign_desc" type="xs:string" minOccurs="0" />
<xs:element name="notes" type="xs:string" minOccurs="0" />
<xs:element name="custom_1" type="xs:string" minOccurs="0" />
<xs:element name="custom_2" type="xs:string" minOccurs="0" />
<xs:element name="custom_3" type="xs:string" minOccurs="0" />
<xs:element name="custom_4" type="xs:string" minOccurs="0" />
<xs:element name="custom_5" type="xs:string" minOccurs="0" />
<xs:element name="custom_6" type="xs:string" minOccurs="0" />
<xs:element name="custom_7" type="xs:string" minOccurs="0" />
<xs:element name="custom_8" type="xs:string" minOccurs="0" />
<xs:element name="custom_9" type="xs:string" minOccurs="0" />
<xs:element name="custom_0" type="xs:string" minOccurs="0" />
<xs:element name="recd_amt" type="xs:decimal" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="Payment">
- <xs:complexType>
- <xs:sequence>
<xs:element name="payment_no" type="xs:int" minOccurs="0" />
<xs:element name="payment_amt" type="xs:decimal" minOccurs="0" />
<xs:element name="gc_no" type="xs:string" minOccurs="0" />
<xs:element name="description" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="PaymentPlan">
- <xs:complexType>
- <xs:sequence>
<xs:element name="order_sch_no" type="xs:int" minOccurs="0" />
<xs:element name="amt_due" type="xs:decimal" minOccurs="0" />
<xs:element name="due_dt" type="xs:dateTime" minOccurs="0" />
<xs:element name="billing_type" type="xs:int" minOccurs="0" />
<xs:element name="billing_type_str" type="xs:string" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
- <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
- <GetOrderDetailsInfoResults xmlns="">
- <Order diffgr:id="Order1" msdata:rowOrder="0">
<order_no>1620222</order_no>
<appeal_no>1535</appeal_no>
<source_no>4318</source_no>
<customer_no>1</customer_no>
<solicitor>WEB</solicitor>
<MOS>7</MOS>
<mos_desc>Internet - Subs</mos_desc>
<order_dt>2012-04-04T12:36:42.97-05:00</order_dt>
<batch_no>97905</batch_no>
<hold_until_dt>2012-10-16T20:00:00-05:00</hold_until_dt>
<transaction_no>1468537</transaction_no>
<habo_ind>N</habo_ind>
<bu>1</bu>
<delivery>2</delivery>
<delivery_desc>Print at Home</delivery_desc>
<tot_ticket_purch_amt>674.0000</tot_ticket_purch_amt>
<tot_ticket_return_amt>0.0000</tot_ticket_return_amt>
<tot_fee_amt>44.0000</tot_fee_amt>
<tot_contribution_amt>0.0000</tot_contribution_amt>
<tot_due_amt>718.0000</tot_due_amt>
<tot_ticket_paid_amt>674.0000</tot_ticket_paid_amt>
<tot_fee_paid_amt>44.0000</tot_fee_paid_amt>
<tot_contribution_paid_amt>0.0000</tot_contribution_paid_amt>
<tot_paid_amt>718.0000</tot_paid_amt>
<balance_due>0.0000</balance_due>
<seated>Yes</seated>
<printed>Partial</printed>
<channel>Internet - Subs</channel>
</Order>
- <LineItem diffgr:id="LineItem1" msdata:rowOrder="0">
<li_seq_no>2700976</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1170</pkg_no>
<perf_no>9101</perf_no>
<priority>0</priority>
<zone_no>2755</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700975</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>121027OSHE</perf_code>
<perf_dt>2012-10-27T20:00:00-05:00</perf_dt>
<perf_desc>Perf1</perf_desc>
<pkg_code>BWAY SAT E</pkg_code>
<pkg_desc>12/13 BWAY Saturday Eve</pkg_desc>
<facility_desc>Orph Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>Text 4</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem2" msdata:rowOrder="1">
<li_seq_no>2700977</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1170</pkg_no>
<perf_no>9292</perf_no>
<priority>0</priority>
<zone_no>2755</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700975</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>13PATSATE</perf_code>
<perf_dt>2012-10-27T20:00:00-05:00</perf_dt>
<perf_desc>Patron Fee</perf_desc>
<pkg_code>BWAY SAT E</pkg_code>
<pkg_desc>12/13 BWAY Saturday Eve</pkg_desc>
<facility_desc>Orph Theater</facility_desc>
<zmap_no>504</zmap_no>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem3" msdata:rowOrder="2">
<li_seq_no>2700978</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1170</pkg_no>
<perf_no>9112</perf_no>
<priority>0</priority>
<zone_no>2755</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700975</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>121201OSHE</perf_code>
<perf_dt>2012-12-01T20:00:00-06:00</perf_dt>
<perf_desc>Perf2</perf_desc>
<pkg_code>BWAY SAT E</pkg_code>
<pkg_desc>12/13 BWAY Saturday Eve</pkg_desc>
<facility_desc>Orph Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>Text 4</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem4" msdata:rowOrder="3">
<li_seq_no>2700979</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1170</pkg_no>
<perf_no>9123</perf_no>
<priority>0</priority>
<zone_no>2755</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700975</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>130119OSHE</perf_code>
<perf_dt>2013-01-19T20:00:00-06:00</perf_dt>
<perf_desc>Perf 3</perf_desc>
<pkg_code>BWAY SAT E</pkg_code>
<pkg_desc>12/13 BWAY Saturday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1</text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>PERF 3</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem5" msdata:rowOrder="4">
<li_seq_no>2700980</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1170</pkg_no>
<perf_no>9342</perf_no>
<priority>0</priority>
<zone_no>2755</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700975</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>130316OSHE</perf_code>
<perf_dt>2013-03-16T20:00:00-05:00</perf_dt>
<perf_desc>Perf 4</perf_desc>
<pkg_code>BWAY SAT E</pkg_code>
<pkg_desc>12/13 BWAY Saturday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1</text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>PERF 4</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem6" msdata:rowOrder="5">
<li_seq_no>2700981</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1170</pkg_no>
<perf_no>9134</perf_no>
<priority>0</priority>
<zone_no>2755</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700975</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>130518OSHE</perf_code>
<perf_dt>2013-05-18T20:00:00-05:00</perf_dt>
<perf_desc>Perf 5</perf_desc>
<pkg_code>BWAY SAT E</pkg_code>
<pkg_desc>12/13 BWAY Saturday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1</text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>PERF 5</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem7" msdata:rowOrder="6">
<li_seq_no>2700983</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1168</pkg_no>
<perf_no>9099</perf_no>
<priority>0</priority>
<zone_no>2756</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700982</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>121026OSHE</perf_code>
<perf_dt>2012-10-26T20:00:00-05:00</perf_dt>
<perf_desc>Perf 1</perf_desc>
<pkg_code>BWAY FRI</pkg_code>
<pkg_desc>12/13 BWAY Friday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1</text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>PERF 1</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem8" msdata:rowOrder="7">
<li_seq_no>2700984</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1168</pkg_no>
<perf_no>9290</perf_no>
<priority>0</priority>
<zone_no>2756</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700982</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>13PATFRI</perf_code>
<perf_dt>2012-10-26T20:00:00-05:00</perf_dt>
<perf_desc>BWAY Patron Fee</perf_desc>
<pkg_code>BWAY FRI</pkg_code>
<pkg_desc>12/13 BWAY Friday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem9" msdata:rowOrder="8">
<li_seq_no>2700985</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1168</pkg_no>
<perf_no>9110</perf_no>
<priority>0</priority>
<zone_no>2756</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700982</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>121130OSHE</perf_code>
<perf_dt>2012-11-30T20:00:00-06:00</perf_dt>
<perf_desc>Perf 6</perf_desc>
<pkg_code>BWAY FRI</pkg_code>
<pkg_desc>12/13 BWAY Friday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1</text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>PERF 6</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem10" msdata:rowOrder="9">
<li_seq_no>2700986</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1168</pkg_no>
<perf_no>9121</perf_no>
<priority>0</priority>
<zone_no>2756</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700982</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>130118OSHE</perf_code>
<perf_dt>2013-01-18T20:00:00-06:00</perf_dt>
<perf_desc>Perf 3</perf_desc>
<pkg_code>BWAY FRI</pkg_code>
<pkg_desc>12/13 BWAY Friday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1</text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>PERF 3</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem11" msdata:rowOrder="10">
<li_seq_no>2700987</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1168</pkg_no>
<perf_no>9340</perf_no>
<priority>0</priority>
<zone_no>2756</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700982</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>130315OSHE</perf_code>
<perf_dt>2013-03-15T20:00:00-05:00</perf_dt>
<perf_desc>Perf 4</perf_desc>
<pkg_code>BWAY FRI</pkg_code>
<pkg_desc>12/13 BWAY Friday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1</text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>PERF 4</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <LineItem diffgr:id="LineItem12" msdata:rowOrder="11">
<li_seq_no>2700988</li_seq_no>
<li_no>0</li_no>
<order_no>1620222</order_no>
<pkg_no>1168</pkg_no>
<perf_no>9132</perf_no>
<priority>0</priority>
<zone_no>2756</zone_no>
<alt_upgrd_ind xml:space="preserve"></alt_upgrd_ind>
<pkg_li_no>2700982</pkg_li_no>
<primary_ind>Y</primary_ind>
<perf_code>130517OSHE</perf_code>
<perf_dt>2013-05-17T20:00:00-05:00</perf_dt>
<perf_desc>Perf 5</perf_desc>
<pkg_code>BWAY FRI</pkg_code>
<pkg_desc>12/13 BWAY Friday Eve</pkg_desc>
<facility_desc>ORPH Theater</facility_desc>
<zmap_no>504</zmap_no>
<text1>Text 1</text1>
<text2>Text 2</text2>
<text3>Text 3</text3>
<text4>PERF 5</text4>
<ga_ind>N</ga_ind>
</LineItem>
- <SubLineItem diffgr:id="SubLineItem1" msdata:rowOrder="0">
<sli_no>10888350</sli_no>
<li_seq_no>2700976</li_seq_no>
<due_amt>64.4000</due_amt>
<paid_amt>64.4000</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>358979</seat_no>
<sli_status>12</sli_status>
<perf_no>9101</perf_no>
<pkg_no>1170</pkg_no>
<zone_no>2755</zone_no>
<order_no>1620222</order_no>
<seat_row>A</seat_row>
<seat_num>110</seat_num>
<zone_desc>Price Level 1</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem2" msdata:rowOrder="1">
<sli_no>10888351</sli_no>
<li_seq_no>2700977</li_seq_no>
<due_amt>55.0000</due_amt>
<paid_amt>55.0000</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>358979</seat_no>
<sli_status>3</sli_status>
<perf_no>9292</perf_no>
<pkg_no>1170</pkg_no>
<zone_no>2755</zone_no>
<order_no>1620222</order_no>
<seat_row>A</seat_row>
<seat_num>110</seat_num>
<zone_desc>Price Level 1</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem3" msdata:rowOrder="2">
<sli_no>10888352</sli_no>
<li_seq_no>2700978</li_seq_no>
<due_amt>64.2000</due_amt>
<paid_amt>64.2000</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>358979</seat_no>
<sli_status>12</sli_status>
<perf_no>9112</perf_no>
<pkg_no>1170</pkg_no>
<zone_no>2755</zone_no>
<order_no>1620222</order_no>
<seat_row>A</seat_row>
<seat_num>110</seat_num>
<zone_desc>Price Level 1</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem4" msdata:rowOrder="3">
<sli_no>10888353</sli_no>
<li_seq_no>2700979</li_seq_no>
<due_amt>64.2000</due_amt>
<paid_amt>64.2000</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>358979</seat_no>
<sli_status>12</sli_status>
<perf_no>9123</perf_no>
<pkg_no>1170</pkg_no>
<zone_no>2755</zone_no>
<order_no>1620222</order_no>
<seat_row>A</seat_row>
<seat_num>110</seat_num>
<zone_desc>Price Level 1</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem5" msdata:rowOrder="4">
<sli_no>10888354</sli_no>
<li_seq_no>2700980</li_seq_no>
<due_amt>83.0000</due_amt>
<paid_amt>83.0000</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>358979</seat_no>
<sli_status>12</sli_status>
<perf_no>9342</perf_no>
<pkg_no>1170</pkg_no>
<zone_no>2755</zone_no>
<order_no>1620222</order_no>
<seat_row>A</seat_row>
<seat_num>110</seat_num>
<zone_desc>Price Level 1</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem6" msdata:rowOrder="5">
<sli_no>10888355</sli_no>
<li_seq_no>2700981</li_seq_no>
<due_amt>64.2000</due_amt>
<paid_amt>64.2000</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>358979</seat_no>
<sli_status>12</sli_status>
<perf_no>9134</perf_no>
<pkg_no>1170</pkg_no>
<zone_no>2755</zone_no>
<order_no>1620222</order_no>
<seat_row>A</seat_row>
<seat_num>110</seat_num>
<zone_desc>Price Level 1</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem7" msdata:rowOrder="6">
<sli_no>10888357</sli_no>
<li_seq_no>2700983</li_seq_no>
<due_amt>51.6500</due_amt>
<paid_amt>51.6500</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>360340</seat_no>
<sli_status>12</sli_status>
<perf_no>9099</perf_no>
<pkg_no>1168</pkg_no>
<zone_no>2756</zone_no>
<order_no>1620222</order_no>
<seat_row>T</seat_row>
<seat_num>111</seat_num>
<zone_desc>Price Level 2</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem8" msdata:rowOrder="7">
<sli_no>10888358</sli_no>
<li_seq_no>2700984</li_seq_no>
<due_amt>0.0000</due_amt>
<paid_amt>0.0000</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>360340</seat_no>
<sli_status>3</sli_status>
<perf_no>9290</perf_no>
<pkg_no>1168</pkg_no>
<zone_no>2756</zone_no>
<order_no>1620222</order_no>
<seat_row>T</seat_row>
<seat_num>111</seat_num>
<zone_desc>Price Level 2</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem9" msdata:rowOrder="8">
<sli_no>10888359</sli_no>
<li_seq_no>2700985</li_seq_no>
<due_amt>51.4500</due_amt>
<paid_amt>51.4500</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>360340</seat_no>
<sli_status>12</sli_status>
<perf_no>9110</perf_no>
<pkg_no>1168</pkg_no>
<zone_no>2756</zone_no>
<order_no>1620222</order_no>
<seat_row>T</seat_row>
<seat_num>111</seat_num>
<zone_desc>Price Level 2</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem10" msdata:rowOrder="9">
<sli_no>10888360</sli_no>
<li_seq_no>2700986</li_seq_no>
<due_amt>51.4500</due_amt>
<paid_amt>51.4500</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>360340</seat_no>
<sli_status>12</sli_status>
<perf_no>9121</perf_no>
<pkg_no>1168</pkg_no>
<zone_no>2756</zone_no>
<order_no>1620222</order_no>
<seat_row>T</seat_row>
<seat_num>111</seat_num>
<zone_desc>Price Level 2</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem11" msdata:rowOrder="10">
<sli_no>10888361</sli_no>
<li_seq_no>2700987</li_seq_no>
<due_amt>73.0000</due_amt>
<paid_amt>73.0000</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>360340</seat_no>
<sli_status>12</sli_status>
<perf_no>9340</perf_no>
<pkg_no>1168</pkg_no>
<zone_no>2756</zone_no>
<order_no>1620222</order_no>
<seat_row>T</seat_row>
<seat_num>111</seat_num>
<zone_desc>Price Level 2</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItem diffgr:id="SubLineItem12" msdata:rowOrder="11">
<sli_no>10888362</sli_no>
<li_seq_no>2700988</li_seq_no>
<due_amt>51.4500</due_amt>
<paid_amt>51.4500</paid_amt>
<price_type>978</price_type>
<price_type_desc>New</price_type_desc>
<seat_no>360340</seat_no>
<sli_status>12</sli_status>
<perf_no>9132</perf_no>
<pkg_no>1168</pkg_no>
<zone_no>2756</zone_no>
<order_no>1620222</order_no>
<seat_row>T</seat_row>
<seat_num>111</seat_num>
<zone_desc>Price Level 2</zone_desc>
<section_desc>Orchestra</section_desc>
<section_short_desc>Orch</section_short_desc>
<section_print_desc>OR2</section_print_desc>
<section_add_text>Orchestra 2</section_add_text>
</SubLineItem>
- <SubLineItemFee diffgr:id="SubLineItemFee1" msdata:rowOrder="0">
<id>4168387</id>
<order_no>1620222</order_no>
<li_seq_no>2700975</li_seq_no>
<sli_no>10888349</sli_no>
<fee_no>379</fee_no>
<fee_desc>12/13 OPA Bway Handling</fee_desc>
<fee_amt>17.0000</fee_amt>
<fee_override_ind>N</fee_override_ind>
<fee_override_amt>0.0000</fee_override_amt>
<user_def_ind>N</user_def_ind>
<fee_frequency>PKG</fee_frequency>
<category>5</category>
<category_desc>Subscription Processing Fee</category_desc>
</SubLineItemFee>
- <SubLineItemFee diffgr:id="SubLineItemFee2" msdata:rowOrder="1">
<id>4168388</id>
<order_no>1620222</order_no>
<li_seq_no>2700975</li_seq_no>
<sli_no>10888349</sli_no>
<fee_no>380</fee_no>
<fee_desc>12/13 OPA Bway PAHT</fee_desc>
<fee_amt>5.0000</fee_amt>
<fee_override_ind>N</fee_override_ind>
<fee_override_amt>0.0000</fee_override_amt>
<user_def_ind>N</user_def_ind>
<fee_frequency>PKG</fee_frequency>
<category>18</category>
<category_desc>Subscription Rebate PAHT</category_desc>
</SubLineItemFee>
- <SubLineItemFee diffgr:id="SubLineItemFee3" msdata:rowOrder="2">
<id>4168389</id>
<order_no>1620222</order_no>
<li_seq_no>2700975</li_seq_no>
<sli_no>10888349</sli_no>
<fee_no>381</fee_no>
<fee_desc>12/13 OPA Bway Online</fee_desc>
<fee_amt>5.0000</fee_amt>
<fee_override_ind>Y</fee_override_ind>
<fee_override_amt>0.0000</fee_override_amt>
<user_def_ind>N</user_def_ind>
<fee_frequency>PKG</fee_frequency>
<category>19</category>
<category_desc>Subscription Rebate Online</category_desc>
</SubLineItemFee>
- <SubLineItemFee diffgr:id="SubLineItemFee4" msdata:rowOrder="3">
<id>4168390</id>
<order_no>1620222</order_no>
<li_seq_no>2700982</li_seq_no>
<sli_no>10888356</sli_no>
<fee_no>379</fee_no>
<fee_desc>12/13 OPA Bway Handling</fee_desc>
<fee_amt>17.0000</fee_amt>
<fee_override_ind>N</fee_override_ind>
<fee_override_amt>0.0000</fee_override_amt>
<user_def_ind>N</user_def_ind>
<fee_frequency>PKG</fee_frequency>
<category>5</category>
<category_desc>Subscription Processing Fee</category_desc>
</SubLineItemFee>
- <SubLineItemFee diffgr:id="SubLineItemFee5" msdata:rowOrder="4">
<id>4168391</id>
<order_no>1620222</order_no>
<li_seq_no>2700982</li_seq_no>
<sli_no>10888356</sli_no>
<fee_no>380</fee_no>
<fee_desc>12/13 OPA Bway PAHT</fee_desc>
<fee_amt>5.0000</fee_amt>
<fee_override_ind>N</fee_override_ind>
<fee_override_amt>0.0000</fee_override_amt>
<user_def_ind>N</user_def_ind>
<fee_frequency>PKG</fee_frequency>
<category>18</category>
<category_desc>Subscription Rebate PAHT</category_desc>
</SubLineItemFee>
- <SubLineItemFee diffgr:id="SubLineItemFee6" msdata:rowOrder="5">
<id>4168392</id>
<order_no>1620222</order_no>
<li_seq_no>2700982</li_seq_no>
<sli_no>10888356</sli_no>
<fee_no>381</fee_no>
<fee_desc>12/13 OPA Bway Online</fee_desc>
<fee_amt>5.0000</fee_amt>
<fee_override_ind>Y</fee_override_ind>
<fee_override_amt>0.0000</fee_override_amt>
<user_def_ind>N</user_def_ind>
<fee_frequency>PKG</fee_frequency>
<category>19</category>
<category_desc>Subscription Rebate Online</category_desc>
</SubLineItemFee>
- <Fee diffgr:id="Fee1" msdata:rowOrder="0">
<category>5</category>
<category_desc>Subscription Processing Fee</category_desc>
<total_fees>34.0000</total_fees>
</Fee>
- <Fee diffgr:id="Fee2" msdata:rowOrder="1">
<category>19</category>
<category_desc>Subscription Rebate Online</category_desc>
<total_fees>0.0000</total_fees>
</Fee>
- <Fee diffgr:id="Fee3" msdata:rowOrder="2">
<category>18</category>
<category_desc>Subscription Rebate PAHT</category_desc>
<total_fees>10.0000</total_fees>
</Fee>
- <Payment diffgr:id="Payment1" msdata:rowOrder="0">
<payment_no>687540</payment_no>
<payment_amt>718.0000</payment_amt>
<gc_no />
<description>Internet-Visa</description>
</Payment>
</GetOrderDetailsInfoResults>
</diffgr:diffgram>
</DataSet>
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 37808487
should work on this XML
0
 
LVL 2

Author Closing Comment

by:DowntownIT
ID: 37808571
This indeed did work. I thank you for you time.
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 37808686
welcome
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
Envision that you are chipping away at another e-business site with a team of pundit developers and designers. Everything seems, by all accounts, to be going easily.
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now