[xsl] Grouping based on element content

Subject: [xsl] Grouping based on element content
From: "Ganesh Babu N" <nbabuganesh@xxxxxxxxx>
Date: Tue, 25 Nov 2008 18:57:17 +0530
Dear All,

Inspired by the Bob DuCharme article on Automating Stylesheet
Creation, I am trying to create automatic XSL from meta XML prepared
from a table. Here is the XML file of mapping table and needs to be
converted into source and target groups based on "to". But when i
apply my stylesheet all the <Cell> are getting converted into
<source>. Please guide me where I am going wrong.

Input XML:

    <Cell><Data ss:Type="String">doi</Data></Cell>
    <Cell><Data ss:Type="String">pii</Data></Cell>
    <Cell><Data ss:Type="String">aid</Data></Cell>
    <Cell><Data ss:Type="String">to</Data></Cell>
    <Cell><Data ss:Type="String">article-id</Data></Cell>
    <Cell><Data ss:Type="String">@doi</Data></Cell>
    <Cell><Data ss:Type="String">@pii</Data></Cell>
    <Cell><Data ss:Type="String">@publisher-id</Data></Cell>


<xsl:template match="ss:Row">
<xsl:element name="map">
<xsl:for-each-group select="ss:Cell/ss:Data"
group-ending-with="*[text() eq 'to']">
<xsl:for-each select="current-group()">

Expected output:

Current Thread