count, substring & if (oder choose?)
benni
- xsl
Hallo,
ich habe folgendes Problem:
Ich meine xml-Daten mittels xslt in eine html Seite wandeln.
Dabei gibt es zu jeden Datensatz ein <Date> tag, mit der Formatierung TT.MM.JJJJ.
Ich möchte nun mittels count die Anzahl der Datensätze für jeden Monat zählen.
also:
<Termin>
..
<date>01.01.2008</date>
</Termin>
<Termin>
..
<date>10.01.2008</date>
</Termin>
Mit substring(date,4,2) erhalte ich ja die Monatsangabe und dann? wie verbinde ich das ganze mit count und wie lasse ich mir für die 12 Monate die Werte hinter einanderweg aufzeichnen?
Ich bin noch neu in der Materie.. für die Profis sicher kein Problem!
Ich danke schon mal.
benni
Hallo,
Ich meine xml-Daten mittels xslt in eine html Seite wandeln.
Mit substring(date,4,2) erhalte ich ja die Monatsangabe und dann? wie verbinde ich das ganze mit count und wie lasse ich mir für die 12 Monate die Werte hinter einanderweg aufzeichnen?
Ich bin noch neu in der Materie.. für die Profis sicher kein Problem!
Das ist dennoch nicht ganz trivial.
Vorgehensweise:
Du musst deine Elemente gruppieren, als Gruppierungskriterium hast du ja jetzt das Monat.
Gruppieren kannst du mit Hilfe von xsl:key (wenn du XSLT 1.0 benutzt, sonst gibt im XSLT 2.0 bereits ein xsl:for-each-group)
<xsl:key name="monat" match="Termin" use="substring(date,4,2)"/>
Weil ich jetzt nicht wirklich die Lust habe ein XML-Datei mit Testdaten zu basteln, hier nur ein Link wie key und Gruppierung funktioniert (siehe die "erklärung teil"):
http://forum.de.selfhtml.org/archiv/2007/4/t150186/#m976444
Grüße
Thomas