xsl-list
[Top] [All Lists]

Grouping problem

2005-07-31 23:56:50
I have the following XML file -
<?xml version="1.0" encoding="UTF-8"?>
<root>
   <a>1</a>
   <b>2</b>
   <d>3</d>
   <d>4</d>
   <b>5</b>
   <b>6</b>
   <c>7</c>
   <c>8</c> 
   <a>9</a>  
</root>

I am trying to do grouping operation with the following XSL -
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

        <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
        
        <xsl:template match="/root">
           <groups>
             <xsl:for-each select="*[not(name() = name(preceding-sibling::*))]">
            <group name="{name()}" />
             </xsl:for-each>
           </groups>
        </xsl:template>
        
</xsl:stylesheet>

I am expecting output -
<groups>
   <group name="a" />
   <group name="b" />
   <group name="c" />
   <group name="d" />
</groups>

But I get output -
<?xml version="1.0" encoding="UTF-8"?>
<groups>
<group name="a"/>
<group name="b"/>
<group name="d"/>
<group name="d"/>
<group name="b"/>
<group name="b"/>
<group name="c"/>
<group name="c"/>
</groups>

Where is the problem?

This is tested with Xalan-J 2.6.0 and Saxon 8.4

Regards,
Mukul

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



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