Gynix: Gruppieren

Beitrag lesen

Hallo NG,

ich möchte gerne über Daten gruppieren, bekomme es aber nicht ganz hin....:-(

mein XML:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    SOAP-ENV:Body
        <m:answer.Response>
            <KG_BUCHUNG>
                <item>
                    <LDATE>0000-00-00</LDATE>
                    <LTIME/>
                    <SATZA/>
                    <EREIGNIS/>
                </item>
                <item>
                    <LDATE>2007-01-02</LDATE>
                    <LTIME>070000</LTIME>
                    <SATZA>P10</SATZA>
                    <EREIGNIS>Kommen</EREIGNIS>
                </item>
                <item>
                    <LDATE>2007-01-02</LDATE>
                    <LTIME>160000</LTIME>
                    <SATZA>P20</SATZA>
                    <EREIGNIS>Gehen</EREIGNIS>
                </item>
                <item>
                    <LDATE>2007-01-09</LDATE>
                    <LTIME>070000</LTIME>
                    <SATZA>P10</SATZA>
                    <EREIGNIS>Kommen</EREIGNIS>
                </item>
</KG_BUCHUNG></m:answer.Response></SOAP-ENV:Body></SOAP-ENV:Envelope>

das dazugehörige XSL:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html" encoding="ISO-8859-1" version="4.0"/>

<xsl:key name="item-by-ldate" match="SOAP-ENV:Envelope/SOAP-ENV:Body/m:answer.Response/KG_BUCHUNG/item/LDATE" use="LDATE" />
    <xsl:template match="SOAP-ENV:Envelope/SOAP-ENV:Body/m:answer.Response/KG_BUCHUNG">
        <xsl:for-each select="item[count(. | key('item-by-ldate', LDATE)[1]) = 1]">
            <xsl:sort select="LDATE" />
            <xsl:value-of select="LDATE" />,<br />
            <xsl:for-each select="key('item-by-ldate',LDATE)">
                <xsl:sort select="LTIME" />
                <xsl:value-of select="LTIME" /> (<xsl:value-of select="EREIGNIS" />)<br />
            </xsl:for-each>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

Als Ergebnis bekomme ich immer nur das Datum - mehr nicht.