xsl-list
[Top] [All Lists]

Re: Nested grouping question

2004-01-05 08:44:16
Michael and Wendell,
Thanks for the responses.  I have used Muenchian grouping, but am stuck on
doing it for multiple levels.  I hadn't seen Jeni's post (on her site) on
that topic, so I'll work with that for now.

Thanks,
AWK

On 1/2/04 6:43 PM, "Michael Kay" <mhk(_at_)mhk(_dot_)me(_dot_)uk> wrote:

This looks like a fairly standard grouping problem. You haven't really
made it clear what you've tried and why you're stuck - are you already
using Muenchian grouping, as described at
www.jenitennison.com/xslt/grouping, or are you a raw beginner?

Michael Kay

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Andrew Kirkpatrick
Sent: 02 January 2004 21:30
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Nested grouping question


Hi,
I've been grappling with this for a while and hope someone
can offer some suggestions.

I've got an XML file organized in one way that I'm trying to
convert to match the organization of other files that I deal
with.  I want the file hierarchy to be:

<game>
    <state>
        <user/>
    </state>
</game>

There are many games, states, and users.

The file that I'm trying to convert is organized by user.  I
can do grouping to determine the states and games, but it
seems like I need to do redundant grouping to do the
conversion.  Has anyone does anything similar?  I've got
samples of the input XML and the desired XML below.  Any
suggestions are appreciated...

Thanks in advance,
AWK


INPUT XML:
<?xml version="1.0" encoding="UTF-8"?>
<report>
    <user>
        <name>Bill</name>
        <state>MT</state>
        <game>Halo</game>
    </user>
    <user>
        <name>Joe</name>
        <state>NJ</state>
        <game>Halo</game>
    </user>
    <user>
        <name>Joe</name>
        <state>NJ</state>
        <game>PGR 2</game>
    </user>
    <user>
        <name>Joe</name>
        <state>MT</state>
        <game>Halo</game>
    </user>
    <user>
        <name>Jim</name>
        <state>AZ</state>
        <game>PGR 2</game>
    </user>
    <user>
        <name>Bill</name>
        <state>IN</state>
        <game>XIII</game>
    </user>
    <user>
        <name>Sue</name>
        <state>IN</state>
        <game>Halo</game>
    </user>
    <user>
        <name>Kim</name>
        <state>AZ</state>
        <game>PGR 2</game>
    </user>
    <user>
        <name>Pat</name>
        <state>AZ</state>
        <game>XIII</game>
    </user>
    <user>
        <name>Ed</name>
        <state>AZ</state>
        <game>PGR 2</game>
    </user>
    <user>
        <name>Neo</name>
        <state>MT</state>
        <game>Halo</game>
    </user>
    <user>
        <name>Mary</name>
        <state>IN</state>
        <game>Halo</game>
    </user>
    <user>
        <name>Jen</name>
        <state>MT</state>
        <game>XIII</game>
    </user>
    <user>
        <name>Thor</name>
        <state>NJ</state>
        <game>XIII</game>
    </user>
</report>


DESIRED OUTPUT XML:
<?xml version="1.0"?>
<report>
  <game title="Halo">
    <state name="MT">
        <user name="Bill"/>
        <user name="Joe"/>
        <user name="Neo"/>
    </state>
    <state name="NJ">
        <user name="Joe"/>
    </state>
    <state name="IN">
        <user name="Sue"/>
    <user name="Mary"/>
    </state>
  </game>
  <game title="PGR 2">
    <state name="AZ">
        <user name="Jim"/>
        <user name="Kim"/>
        <user name="Ed"/>
    </state>
    <state name="NJ">
        <user name="Joe"/>
    </state>
  </game>
  <game title="XIII">
    <state name="MT">
        <user name="Jen"/>
    </state>
    <state name="NJ">
        <user name="Thor"/>
    </state>
    <state name="IN">
        <user name="Bill"/>
    </state>
    <state name="AZ">
        <user name="Pat"/>
    </state>
  </game>
</report>



 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



<Prev in Thread] Current Thread [Next in Thread>