Transforming with XSLT, Grouping elements until difference found.

Discussion in 'XML' started by Jody Greening, Jan 6, 2005.

  1. Transforming with XSLT, Grouping elements until difference found.

    I am seeking some help with the following problem, I am fairly new at
    XSLT transformations, and my problem may lie in looking at it from a
    traditional programming point of view.

    I have did quite a bit of searching but have found no answers to my
    particular problem... please read below XML for the problem I am
    having.

    PS: I have no control over the XML I am trying to transform.

    --- I have only spaced the lines for clarity ---

    <Amounts>
    <Amount date="2004-05-30">5290</Amount>
    <Amount date="2004-06-30">5290</Amount>

    <Amount date="2004-07-30">5300</Amount>
    <Amount date="2004-08-30">5300</Amount>

    <Amount date="2004-09-30">5290</Amount>
    <Amount date="2004-10-30">5290</Amount>
    <Amount date="2004-11-30">5290</Amount>

    <Amount date="2004-12-30">1000</Amount>

    <Amount date="2005-01-30">5290</Amount>

    <Amount date="2005-02-28">5300</Amount>

    <Amount date="2005-03-30">5290</Amount>
    <Amount date="2005-04-30">5290</Amount>

    <Amount date="2004-07-30">5300</Amount>
    <Amount date="2004-08-30">5300</Amount>
    </Amounts>

    I am looking to transform the above XML into the below structure
    grouping payments with alike ones util there is a different payment
    encountered. I also need to inculde a count of the like payments.

    Output should look like this: (in the correct order found in the input
    stream) I have had limited success with for-each but the problem lies
    in the counting of the LIKE elements.

    <Payments>
    <Payment amount="5290" numpayments="2" />
    <Payment amount="5300" numpayments="2" />
    <Payment amount="5290" numpayments="3" />
    <Payment amount="1000" numpayments="1" />
    <Payment amount="5290" numpayments="1" />
    <Payment amount="5300" numpayments="1" />
    <Payment amount="5290" numpayments="2" />
    <Payment amount="5300" numpayments="2" />
    </Payments>

    Any help would be greatly appreciated.
    Jody Greening
    jgreening#AT#cyence#DOT#com
     
    Jody Greening, Jan 6, 2005
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Ken Adams
    Replies:
    1
    Views:
    711
    Arnaud Berger
    Mar 10, 2005
  2. Bernd Fuhrmann
    Replies:
    0
    Views:
    441
    Bernd Fuhrmann
    Feb 12, 2004
  3. Jody Greening
    Replies:
    5
    Views:
    683
    Jody Greening
    Jan 6, 2005
  4. Replies:
    2
    Views:
    478
    David Carlisle
    Feb 1, 2005
  5. Harry George

    Codesample for xml/xslt transforming

    Harry George, Sep 9, 2003, in forum: Python
    Replies:
    8
    Views:
    416
    Axel Straschil
    Sep 10, 2003
Loading...

Share This Page