Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > XML > Muenchian problem

Reply
Thread Tools

Muenchian problem

 
 
mike@keeston-pembrokeshire.co.uk
Guest
Posts: n/a
 
      05-09-2006
Hi,

I'm trying to apply Muenchian grouping to the XML displayed below but
having no success, I'm trying to group on the section element, any
pointers would be much appreciated:

Thanks,

Mike

---- XML ----
<?xml version="1.0" encoding="utf-8"?>
<page>
<attributes>
<pagename>The Band</pagename>
<name>the_band</name>
<menuname>The Band</menuname>
<pageidentifier>english/the_band</pageidentifier>
<status>open</status>
<lastedited></lastedited>
</attributes>
<containers>
<container name="content">
<elements>
<element type="BandMember">
<name>Luke Skywalker</name>
<section>Front Row Cornets</section>
<position>Solo</position>
<joined>1992</joined>
<composer>Gershwin</composer>
<musicpiece>Lazy Trumpeter</musicpiece>
<bandmoment>something</bandmoment>
<notes></notes>
</element>
<element type="BandMember">
<name>Joe Bloggs</name>
<section>Basses</section>
<position>1st</position>
<joined>2004</joined>
<composer>Something</composer>
<musicpiece>Someething</musicpiece>
<bandmoment>Something</bandmoment>
<notes></notes>
</element>
<element type="BandMember">
<name>Some Body</name>
<section>Front Row Cornets</section>
<position>1st</position>
<joined>2003</joined>
<composer>jkjjkh</composer>
<musicpiece>hkjhjkh</musicpiece>
<bandmoment>Test</bandmoment>
<notes>Some notes</notes>
</element>
</elements>
</container>
</containers>
</page>
---------------

--- XSLT ----

<xsl:key name="section-group" match="element"
use="@type='BandMember'"/>

<xsl:template match="/" mode="show">
<xsl:for-each select="element[generate-id() =
generate-id(key('section-group',section) [1])]">
<h1>
<xsl:value-of select="section"/>
</h1>
<xsl:for-each select="key('section-group',section)">
<xsl:value-of select="name"/>
<br/>
</xsl:for-each>
</xsl:for-each>
</xsl:template>

----------------

 
Reply With Quote
 
 
 
 
George Bina
Guest
Posts: n/a
 
      05-10-2006
You should use the section in the key as that is what you want to group
on. Then the for-each selecting element in the document context (/)
will not select anything. Last, you need either to remove the mode on
the template or have some other template that applies templates with
the show mode on the document node. A working stylesheet is below:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlnssl="http://www.w3.org/1999/XSL/Transform"
version="1.0">

<xsl:key name="section-group" match="element" use="section"/>

<xsl:template match="/">
<xsl:for-each select="//element[generate-id() =
generate-id(key('section-group',section) [1])]">
<h1>
<xsl:value-of select="section"/>
</h1>
<xsl:for-each select="key('section-group',section)">
<xsl:value-of select="name"/>
<br/>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Regards,
George
---------------------------------------------------------------------
George Cristian Bina
<oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger
http://www.oxygenxml.com

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
I've done a Muenchian grouping, but how can I use it to generate summary info? lennyw@comcast.net XML 1 06-06-2006 08:59 PM
Muenchian Grouping Method for Multiple Levels reclusive monkey XML 2 08-10-2005 02:04 PM
XSL grouping (Muenchian) Tristan Miller XML 2 01-31-2005 11:59 AM
Re: Can someone explain this snippet? Muenchian sorting. Marrow XML 2 07-07-2003 05:06 PM
Re: Can someone explain this snippet? Muenchian sorting. Colin Mackenzie XML 0 07-03-2003 03:45 PM



Advertisments