[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] XSLT - Multiple Level Grouping with Unknown Level


Subject: [xsl] XSLT - Multiple Level Grouping with Unknown Level
From: "Arun Sinha" <arunsinha666@xxxxxxxxxxx>
Date: Thu, 09 Sep 2004 11:12:51 +0100

Hi,

I have just started doing coding in XSLT and stuck with a unique problem.
I have done the coding for grouping with fixed levels but finiding the
solution for this one is getting too complicated.

I have looked for the solution at various places but couldn't find one.
Finaly I decided to post my query to you.

Please note that I am restricted to use XSLT version 1.0
and I have to produce the result in a table.

Also the levels of grouping is not fixed. It can be grouped further on Part.

My XML document (partial) is as follows :-

<Group>
    <GroupValue>SUPP1</GroupValue>
       <Group>
            <GroupValue>PO001</GroupValue>
            <Row>
                    <ColumnValue>1</ColumnValue>
                    <ColumnValue>PART1</ColumnValue>
                    <ColumnValue>1.00</ColumnValue>
                    <ColumnValue>1.00</ColumnValue>
            </Row>
            <Row>
                  <ColumnValue>2</ColumnValue>
                  <ColumnValue>PART2</ColumnValue>
                  <ColumnValue>2.00</ColumnValue>
                  <ColumnValue>2.00</ColumnValue>
            </Row>
            <Row>
                  <ColumnValue>3</ColumnValue>
                  <ColumnValue>PART1</ColumnValue>
                  <ColumnValue>3.00</ColumnValue>
                  <ColumnValue>3.00</ColumnValue>
            </Row>
       </Group>
       <Group>
            <GroupValue>PO002</GroupValue>
            <Row>
                    <ColumnValue>1</ColumnValue>
                    <ColumnValue>PART1</ColumnValue>
                    <ColumnValue>1.00</ColumnValue>
                    <ColumnValue>1.0000</ColumnValue>
            </Row>
            <Row>
                  <ColumnValue>2</ColumnValue>
                  <ColumnValue>PART2</ColumnValue>
                  <ColumnValue>2.00</ColumnValue>
                  <ColumnValue>2.0000</ColumnValue>
            </Row>
            <Row>
                  <ColumnValue>3</ColumnValue>
                  <ColumnValue>PART1</ColumnValue>
                  <ColumnValue>3.00</ColumnValue>
                  <ColumnValue>3.00</ColumnValue>
            </Row>
       </Group>
</Group>

<Group>
    <GroupValue>SUPP2</GroupValue>
       <Group>
            <GroupValue>PO003</GroupValue>
            <Row>
                    <ColumnValue>1</ColumnValue>
                    <ColumnValue>PART1</ColumnValue>
                    <ColumnValue>11.00</ColumnValue>
                    <ColumnValue>11.00</ColumnValue>
            </Row>
            <Row>
                  <ColumnValue>2</ColumnValue>
                  <ColumnValue>PART2</ColumnValue>
                  <ColumnValue>22.00</ColumnValue>
                  <ColumnValue>22.00</ColumnValue>
            </Row>
            <Row>
                  <ColumnValue>3</ColumnValue>
                  <ColumnValue>PART1</ColumnValue>
                  <ColumnValue>33.00</ColumnValue>
                  <ColumnValue>33.00</ColumnValue>
            </Row>
       </Group>
       <Group>
            <GroupValue>PO004</GroupValue>
            <Row>
                    <ColumnValue>1</ColumnValue>
                    <ColumnValue>PART1</ColumnValue>
                    <ColumnValue>11.00</ColumnValue>
                    <ColumnValue>11.00</ColumnValue>
            </Row>
            <Row>
                  <ColumnValue>2</ColumnValue>
                  <ColumnValue>PART2</ColumnValue>
                  <ColumnValue>22.00</ColumnValue>
                  <ColumnValue>22.00</ColumnValue>
            </Row>
            <Row>
                  <ColumnValue>3</ColumnValue>
                  <ColumnValue>PART1</ColumnValue>
                  <ColumnValue>33.00</ColumnValue>
                  <ColumnValue>33.00</ColumnValue>
            </Row>
       </Group>
</Group>

And the output should be as follows :-

Supplier PO Number Line Part Number Qty Reqd Net Value
Supp1 PO001 1 Part1 1.00 1.00
2 Part2 2.00 2.00
3 Part1 3.00 3.00
PO002 1 Part1 1.00 1.00
2 Part2 2.00 2.00
3 Part1 3.00 3.00
Supp2 PO003 1 Part1 11.00 11.00
2 Part2 22.00 22.00
3 Part1 33.00 33.00
PO004 1 Part1 11.00 11.00
2 Part2 22.00 22.00
3 Part1 33.00 33.00


Thanking you in advance.

Arun

_________________________________________________________________
Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/



Current Thread
Keywords