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

group again (sorry)


Subject: group again (sorry)
From: Paul Levin <plevin@xxxxxxx>
Date: Tue, 18 Jan 2000 15:26:58 -0500

about 2 months ago I was given some XSL code to do grouping.  I thought
it worked (back then), but in trying it now, it does not work.  Can
someone tell me what I must have changed to make this stop working ?

------------------------------------------  The XML
----------------------------------------------
<?xml version="1.0"?>

<TOP>
    <LEVEL1>
        <LEVEL2>
            <GROUP>

                <ITEM>
                    <NAME>Name4</NAME>
                    <INFO>
                        <INFOTYPE>
                            <ID1>004</ID1>
                            <ID2>004</ID2>
                            <ITEMTYPE>TYPE2</ITEMTYPE>
                        </INFOTYPE>
                    </INFO>
                </ITEM>

                <ITEM>
                    <NAME>Name1</NAME>
                    <INFO>
                        <INFOTYPE>
                            <ID1>001</ID1>
                            <ID2>001</ID2>
                            <ITEMTYPE>TYPE1</ITEMTYPE>
                        </INFOTYPE>
                    </INFO>
                </ITEM>

                <ITEM>
                    <NAME>Name3</NAME>
                    <INFO>
                        <INFOTYPE>
                            <ID1>003</ID1>
                            <ID2>003</ID2>
                            <ITEMTYPE>TYPE2</ITEMTYPE>
                        </INFOTYPE>
                    </INFO>
                </ITEM>

                <ITEM>
                    <NAME>Name2</NAME>
                    <INFO>
                        <INFOTYPE>
                            <ID1>002</ID1>
                            <ID2>002</ID2>
                            <ITEMTYPE>TYPE1</ITEMTYPE>
                        </INFOTYPE>
                    </INFO>
                </ITEM>

            </GROUP>
        </LEVEL2>
    </LEVEL1>
</TOP>

------------------------------------------  The XSL
----------------------------------------------

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">

 <xsl:output method="html"/>

 <xsl:template match="/">
     <HTML>

     <BODY>

    <!-- for each item -->
    <xsl:for-each select="//ITEMTYPE[not(. = following::ITEMTYPE)]">

        <xsl:sort/>

        <H1><xsl:value-of select="."/></H1>

        <xsl:for-each select="//ITEM[INFO/INFOTYPE/ITEMTYPE=current()]">

            <xsl:sort select="NAME"/>
            <P><xsl:value-of select="NAME"/></P>
        </xsl:for-each>

    </xsl:for-each>

    </BODY>
    </HTML>
</xsl:template>

</xsl:stylesheet>

------------------------------------------  Desired HTML
----------------------------------------------

<HTML>
     <BODY>
         <H1>TYPE1</H1>
              <P>Name1</P>
              <P>Name2</P>
         <H1>TYPE2</H1>
              <P>Name3</P>
              <P>Name4</P>
     </BODY>
</HTML>

------------------------------------------  Current Output
----------------------------------------------

<HTML>
  <BODY>
    <H1>TYPE1</H1>
        <P>Name1</P>
        <P>Name2</P>
    <H1>TYPE1</H1>
        <P>Name1</P>
        <P>Name2</P>
    <H1>TYPE2</H1>
        <P>Name3</P>
        <P>Name4</P>
    <H1>TYPE2</H1>
        <P>Name3</P>
        <P>Name4</P>
  </BODY>
</HTML>



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords